Подтвердить что ты не робот

Как проверить, не является ли поле DateTime нулевым или пустым?

Я очень новичок в С#, и у меня есть сомнения.

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

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

Этот код просто проверяет, не является ли поле nome объекта u пустой пустой нулевой строкой.

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

4b9b3361

Ответ 1

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

DateTime dat = new DateTime();

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

Если DateTime имеет значение NULL, хорошо, что другая история:

 DateTime? dat = null;

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

Ответ 2

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

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

if (dateTimeVariable == default(DateTime))
{
    //do work for dateTimeVariable == null situation
}