metrica
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
close form

Заполните форму в два простых шага ниже:

Ваши контактные данные:

Шаг 1
Поздравляем! У вас есть промокод!

Тип желаемой лицензии:

Шаг 2
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности
close form
Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Бесплатная лицензия PVS‑Studio для специалистов Microsoft MVP
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
check circle
Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте папку
Spam/Junk и нажмите на письме кнопку "Не спам".
Так Вы не пропустите ответы от нашей команды.

NullReferenceException

04 Авг 2023

NullReferenceException (NRE) — исключение платформы .NET, возникающее при попытке обращения по нулевой ссылке.

В C# переменные ссылочных типов хранят ссылки на объекты. Ссылка может иметь значение null: в таком случае она не указывает на объект в памяти. null — значение по умолчанию для ссылочных типов.

Рассмотрим простой синтетический пример:

string str = null;
var len = str.Length;
....

Переменная str принимает значение null. Из-за этого при попытке обращения к свойству Length произойдет выброс исключения NullReferenceException.

Часто ошибки не так очевидны. Рассмотрим фрагмент кода из Open Source проекта:

public Palette GlobalPalette
{
  get {....}
  set
  {
    SetTagValue("GlobalPalette", (value != null) ? null : value.Data);
  }
}

Разработчики допустили ошибку при использовании тернарного оператора, перепутав операнды местами. Переменная value проверяется на равенство null. Если value равна null, произойдет попытка обращения к свойству Data. Это приведет к выбросу исключения NullReferenceException, так как value хранит нулевую ссылку.

Правильный вариант вызова метода SetTagValue:

SetTagValue("GlobalPalette", (value != null) ? value.Data : null);

Более подробно причины возникновения NullReferenceException, способы исправления исключений и их предотвращения разбираются в статье "NullReferenceException в C#. Что это такое и как исправить?".

Популярные статьи по теме
5 причин, почему статический анализ кода важен для бизнеса

Дата: 20 Апр 2023

Автор: Андрей Карпов

В статье разбираются 5 основных причин, почему статический анализ кода будет полезен бизнесу, связанному с разработкой программного обеспечения. Статья поможет принять решение, стоит ли познакомиться…
Можно автоматизировать обзор кода?

Дата: 18 Апр 2023

Автор: Андрей Карпов

Автоматизация обзоров кода возможна с помощью инструментов статического анализа. Следует учитывать, что разовые проверки непродуктивны, поэтому очень важно, чтобы статический анализ кода стал...
Личный кабинет PVS-Studio

Дата: 31 Мар 2023

Автор: Тимур Макаев

В этой заметке предлагаем познакомиться с новым веб-сервисом от PVS-Studio. Речь идёт о личном кабинете пользователя. Он будет полезен всем активным читателям нашего блога, а также тем, кто решит...
Reddit для программистов

Дата: 27 Мар 2023

Автор: Ульяна Гришина

Эта статья посвящена одной популярной и активной площадке на просторах Интернета — Reddit. Кто не в курсе, Reddit — это платформа, где сосуществуют тысячи сообществ по интересам. Мы любим Reddit за...
Хорошо ли ChatGPT ищет ошибки в коде?

Дата: 02 Мар 2023

Автор: Артём Ровенский

Нейросети всё больше вливаются в привычный мир, пытаясь упростить нам жизнь. Тот же ChatGPT вызвал бурю обсуждений в интернете. Чат бот способен писать тексты, код, рефераты и песни. Он даже умеет...


Комментарии (0)

Следующие комментарии next comments
close comment form