A string
представляет собой последовательность символов. Так что имеет смысл иметь пустой string
, который является просто пустой последовательностью символов.
Но DateTime
- это всего лишь одно значение, поэтому говорить о «пустом» DateTime
.
не имеет смысла.
Если вы хотите представить концепцию «без значения», это обозначается как null
в .Net. И если вы хотите использовать это с типами значений, вам нужно явно сделать их обнуляемыми. Это означает либо использование Nullable<DateTime>
, либо эквивалент DateTime?
.
DateTime
(как и все типы значений) также имеет значение по умолчанию , которое присваивается неинициализированным полям, и вы также можете получить его по new DateTime()
или default(DateTime)
. Но вы, вероятно, не хотите его использовать, поскольку он представляет собой действительную дату: 1.1.0001 0: 00: 00.