2016-08-26 2 views
0

У меня есть свойство DateTime DateCreation, которое не равно нулю. я могу это сделать:FormatDate определение

String test=myObject.DateCreation.FormatDate(); 

Если DateTime Свойс на объекте обнуляемым, как это:

public virtual DateTime? LastInteractionDate { get; set; } 

Я не могу это сделать:

String test=myObject.LastInteractionDate.FormatDate(); 

Ошибка: DateTime? не содержит определения для «FormatDate»

Как решить это, чтобы иметь пустую строку, если null?

ответ

4

Вы можете использовать .Value, чтобы получить базовый тип значения:

String test = myObject.LastInteractionDate.Value.FormatDate(); 

и проверить на нуль:

String test = myObject.LastInteractionDate != null 
    ? myObject.LastInteractionDate.Value.FormatDate() 
    : string.Empty; 

В этом случае, если LastInteractionDate свойство является нулевым результатом будет пустой строка.

+2

Вы также можете использовать свойство 'HasValue' вместо'! = Null'. –

+0

Правильно, 'HasValue' является альтернативным методом для проверки на null. –

+0

И если используется C# 6 - 'string test = myObject? .LastInteractionDate? .FormatDate();' –

Смежные вопросы