Вы можете использовать нулевые условные операторы (доступно с C # 6.0).
string s = BirthDate?.ToString("dd/MM/yyyy");
Возвращает null
, если BirthDate
не имеет значения (равно нулю), т. Е. ToString
не будет вызываться в этом случае. Если вы хотите вернуть текст в этом случае вместо этого, вы можете использовать оператор null-coalescing
string s = BirthDate?.ToString("dd/MM/yyyy") ?? "none";
или вы можете использовать троичный условный оператор (работает с более старыми версиями C #)
string s = BirthDate.HasValue ? BirthDate.Value.ToString("dd/MM/yyyy") : "none";
В Razor примените это в скобках (?
, кажется, смущает Razor):
<li><b>BirthDate</b> : @(Model.BirthDate?.ToString("dd/MM/yyyy"))</li>
или
<li>
<b>BirthDate</b> : @(BirthDate.HasValue ? BirthDate.Value.ToString("dd/MM/yyyy") : "")
</li>