如果它有值,我应该如何使用可空类型
How should I use the nullable type if it has a value
我有我的模特:
[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
returns 错误值...
感谢您的帮助
您可以按如下方式使用可空类型。
model.Date1.HasValue ? model.Date1.Value.ToShortDateString() : "Unknown";
您还可以通过 model.Date1.GetValueOrDefault() != default(DateTime)
与 default
日期时间值进行比较。
GetValueOrDefault
将 return default
值如果 Date1
是 null
.
model.Date1.GetValueOrDefault() != default(DateTime) ? model.Date1.Value.ToShortDateString() : "Unknown";
我有我的模特:
[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
returns 错误值...
感谢您的帮助
您可以按如下方式使用可空类型。
model.Date1.HasValue ? model.Date1.Value.ToShortDateString() : "Unknown";
您还可以通过 model.Date1.GetValueOrDefault() != default(DateTime)
与 default
日期时间值进行比较。
GetValueOrDefault
将 return default
值如果 Date1
是 null
.
model.Date1.GetValueOrDefault() != default(DateTime) ? model.Date1.Value.ToShortDateString() : "Unknown";