CSh*_*oob 4 c# datetime nullable
可以用这种类型构造我的对象实体吗?
public class Patient
{
public Datetime? AdmissionDate { get; set; }
public double? AdmissionFee { get; set }
public int? RoomNumber { get; set }
}
Run Code Online (Sandbox Code Playgroud)
如果我在我的所有实体中都实现了这个,有什么缺点,因为最近,我总是遇到我真的需要将值设置为 null 的情况,特别是在 DateTime 中。我当前的解决方案是在从数据库中获取空日期时间记录时放置 DateTime.MinValue,当我向 Ui 显示结果时,我只是像这样检查它。
if (patient.AdmissionDate == Datetime.MinValue)
{
DisplayAdmissionDate(string.empty)
}
else
{
DisplayAdmissionDate(patient.AdmissionDate)
}
Run Code Online (Sandbox Code Playgroud)
是的,在 gridview 中,我必须把它放在 Databound 事件上,所以当我有数百万数据要显示时,我认为检查每个日期时间的每个循环并不是最优雅的方式,所以,对于这个问题,我发现这个?type 我可以在其中放置空值的地方,并且我计划将我的所有属性都置入其中,因此在将来,将空值放置到此值类型将不是问题。有什么建议吗?TIA
这是没有单一的、教条的答案涵盖所有情况的情况之一。
总是使用可为空类型(或总是避免使用它们),您无法逃脱。您应该考虑每种情况并使用您实际需要的情况。
你提到你经常需要一个 nullable DateTime
。那么为什么不能DateTime?
在这些情况下使用 a呢?这应该是所有其他领域的独立考虑因素,尤其是int
s。
将null
在可空类型的值是指该值是一样的东西不确定,不可用或未知。这个概念在很多情况下都存在(例如网站上的用户可能会也可能不会指定他们的出生日期,所以应该是 a DateTime?
),但也有很多情况下这个概念没有意义(例如一个列表——如果列表本身不为空,那么显然它有一定数量的项目,所以应该是int
,而不是int?
)。
归档时间: |
|
查看次数: |
38106 次 |
最近记录: |