2014-02-20 2 views
22

Я очень новичок в C#, и у меня есть сомнения.Как проверить, не поле DateTime не пусто или пусто?

В приложении, на котором я работаю, я нашел нечто подобное в коде:

if (!String.IsNullOrEmpty(u.nome)) 

Этот код просто проверить, если ному поле объекта и не является пустым \ пустой строки.

Хорошо, это очень ясно для меня, но что я могу сделать, чтобы проверить это, если поле не является строкой, но является DateTime объект?

+0

Я думаю, что его довольно просто, если у .Datefield = нуль u.Datefield:? DateTime.MinValue; –

+1

Почти такой же, как он задал сегодня утром: http://stackoverflow.com/questions/21904138/how-to-check-if-a-field-is-not-null – LokiSinclair

+0

@LokiSinclair good catch –

ответ

57

Если вы объявляете DateTime, то значение по умолчанию DateTime.MinValue, и, следовательно, вы должны проверить это следующим образом:

DateTime dat = new DateTime(); 

if (dat==DateTime.MinValue) 
{ 
    //unassigned 
} 

Если DateTime обнуляемым, хорошо это другая история:

DateTime? dat = null; 

if (!dat.HasValue) 
{ 
    //unassigned 
} 
7

DateTime не является стандартным обнуляемым типа. Если вы хотите присвоить значение null переменной DateTime, вы должны использовать тип DateTime?, который поддерживает нулевое значение.

Если вы хотите проверить переменную, чтобы установить (например, переменная содержит, кроме значения по умолчанию), вы можете использовать ключевое слово «по умолчанию», как в следующем коде:

if (dateTimeVariable == default(DateTime)) 
{ 
    //do work for dateTimeVariable == null situation 
} 
Смежные вопросы