Почему существует вопросник по определению частной переменной?
Я читаю статью о шаблоне MVVP и как ее реализовать с помощью WPF. В исходном коде есть несколько строк, где я не могу понять, что означают в нем знаки вопроса.
private DateTime? _value;
Что означает ?
в определении? Я попытался найти его в помощи VS, но не смог.
Ответы
Ответ 1
Это значение с нулевым значением. Структуры по умолчанию не могут быть нулевыми, они должны иметь значение, поэтому в С# 2.0 тип Nullable<T>
был введен в .NET Framework.
С# реализует тип Nullable<T>
с помощью куска синтаксического сахара, который помещает знак вопроса после имени типа, тем самым делая ранее непустой тип, нулевым.
Ответ 2
Это означает, что тип Nullable.
Ответ 3
не может быть null
DateTime
DateTime dt = null; // Error: Cannot convert null to 'System.DateTime'
because it is a non-nullable value type
может быть нулевым
DateTime? / Nullable<DateTime>
DateTime? dt = null; // no problems
Ответ 4
Это тип с нулевым значением, вы можете присвоить ему нуль
Ответ 5
Частная дата-время? _value - означает, что значение _ является нулевым. посмотрите эту ссылку для лучшего объяснения.
http://davidhayden.com/blog/dave/archive/2005/05/23/1047.aspx
Надеюсь, что это поможет.
Спасибо,
Радж
Ответ 6
Это означает, что поле является Nullable<DateTime>
, то есть a DateTime
, которое может быть null