Nullable<T>
является неизменным, поэтому вам придется переназначить переменную на другое значение, чтобы иметь возможность изменить / удалить базовое значение.Это имеет смысл, поскольку это тип значения (хотя специальный один при этом);значения-типы обычно неизменны в рамках.Вы заметите, что ни Value
, ни свойство HasValue
для Nullable<T>
не имеют установщика.
DateTime? nullableDt = DateTime.Now;
Console.WriteLine(nullableDt.HasValue); //true
nullableDt = null;
Console.WriteLine(nullableDt.HasValue); //false
или
nullableDt = new DateTime?();