如果尚未分配DateTime实例,它的值是多少?
看一个具体的例子:在下面的类中,"UnassignedDateTime == null"会返回true吗?
如果是这样,那么这样的引用肯定是空的,但是没有赋值为null,这绝对是不合逻辑的吗?
class TestClass
{
public DateTime AssignedDateTime {get; set;}
public DateTime UnassignedDateTime {get; set;}
public TestClass()
{
AssignedDateTime=DateTime.Now;
//Not assigning other property
}
}
Run Code Online (Sandbox Code Playgroud)
我已经检查了类似问题的答案,但这是关于DateTime的?哪个是可空的.. 如何检查是否未分配DateTime对象?
Hen*_*man 38
这将是default(DateTime)一个设计决定恰好DateTime.MinValue
default(T)是用作字段或数组成员时初始化的类型.
default(int) == 0, default(bool) == false等
所有的引用类型,默认是当然的null.
写这是合法的,int i = default(int);但这有点傻.然而,在通用方法中,T x = default(T);可能非常有用.
当然,这样的引用可能为null,但未分配为null,这是非常不合逻辑的吗?
DateTime是一个Value-type,(struct DateTime { ... })所以它不可以null.将它与null进行比较将始终返回false.
因此,如果您想查找分配的状态,您可以将其与default(DateTime)您的域中的有效日期进行比较.否则你将不得不使用可空类型DateTime?.
DateTime.MinValue如果您没有为其分配另一个值,则默认情况下为DateTime变量http://msdn.microsoft.com/en-us/library/system.datetime.minvalue.aspx
| 归档时间: |
|
| 查看次数: |
8035 次 |
| 最近记录: |