Типы, допускающие null в C# позволяют типам значений представлять отсутствующее или неинициализированное значение. Это критически важно, когда нужно различать легитимное нулевое значение и отсутствие данных — разница, которую обычные типы значений выразить не могут.
NULLИспользуй оператор ? для объявления типа, допускающего null:
int? age = null;
decimal? salary = 25000m;
Перед обращением к базовому значению всегда проверяй его наличие с помощью свойства HasValue:
if (age.HasValue)
{
int actualAge = age.Value;
}
Value только убедившись, что HasValue равно trueGetValueOrDefault(), чтобы задать запасное значение на случай null:int defaultAge = age.GetValueOrDefault(0);
Оператор ?? — краткая альтернатива для подстановки значения по умолчанию:
int finalAge = age ?? 0;
HasValue перед обращением к Value, чтобы избежать исключенийGetValueOrDefault() или оператор ?? — код получится чище и безопаснееПеред доступом к свойству Value nullable типа нужно обязательно проверить свойство HasValue, чтобы избежать выброса InvalidOperationException.
Новый — ещё не проверен сообществом
Вы