首页 > 解决方案 > 如果它有一个值,我应该如何使用可空类型

问题描述

我有我的模型:

[DataType(DataType.Date)]
public DateTime? Date1 { get; set; }

[DataType(DataType.Date)]
public DateTime? Date2 { get; set; }

[DataType(DataType.Date)]
public DateTime? Date3 { get; set; }

重要的是 Data1 到 Data3 是DateTime?

我的问题:

//Return right value
(model.Date1.ToString().AsDateTime().ToShortDateString() != "01.01.0001" ? model.Date1.ToString().AsDateTime().ToShortDateString() : "Is not known")
//Return bad value
(model.Date2.ToString().AsDateTime().ToShortDateString() != "01.01.0001" ? model.Date1.ToString().AsDateTime().ToShortDateString() : "Není známo")
//Return bad value
(model.Date3.ToString().AsDateTime().ToShortDateString() != "01.01.0001" ? model.Date3.ToString().AsDateTime().ToShortDateString() : "Is not known")

我不知道如何或为什么,但输入是相同的,但Date2返回Date3错误的价值......

谢谢你的帮助

标签: c#nullable

解决方案


您可以按如下方式使用可为空的类型。

model.Date1.HasValue ? model.Date1.Value.ToShortDateString() : "Unknown";

推荐阅读