我想为C#中的DateTime类型分配空值,所以我使用了:

public DateTime? LockTime;


如果未分配LockTime,则默认情况下LockTime.Value包含null。
在分配了其他值之后,我希望能够将LockTime.Value更改为null。

最佳答案

不,如果未为LockTime分配值,则默认情况下它将为可为空的值-因此,如果您尝试访问LockTime.Value,则会抛出异常。

您不能为LockTime.Value本身分配null,首先是因为它是只读的,其次是因为LockTime.Value的类型是不可为null的DateTime类型。

但是,可以通过几种不同的方式将变量的值设置为空值:

LockTime = null; // Probably the most idiomatic way
LockTime = new DateTime?();
LockTime = default(DateTime?);

关于c# - 在C#中使用Nullable DateTime,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3370138/

10-11 20:34