private enum E_Week
{
Mon = 0,
Tue,
. . .
}
下面的代码是什么意思?带问号的奇怪C#语法
E_Week? week= null;
它是否等于以下代码? ''是什么功能?在这里签名?
E_Week week= null;
private enum E_Week
{
Mon = 0,
Tue,
. . .
}
下面的代码是什么意思?带问号的奇怪C#语法
E_Week? week= null;
它是否等于以下代码? ''是什么功能?在这里签名?
E_Week week= null;
您的代码使用的是所谓的nullable type。枚举类似int或DateTime,就是所谓的“值类型”,它总是需要一些值。可空类型允许您将值类型视为它们允许空值。
例如,下面的代码是无效的,并不能编译,因为枚举不能为空:
E_Week week = null;
但是这个代码是有效的:
E_Week? week = null;
而且它是完全一样的:
Nullable<E_Week> week = null;
E_Week?
相当于Nullable<E_Week>
见here的更多信息,Nullable
类型。
最重要的区别是第二条语句不起作用;)?标志基本上给你的值类型(在这种情况下枚举)设置为null,这通常是不可能的可能性..
可能重复[什么是“DateTime?”在C#中是什么意思?](http://stackoverflow.com/questions/109859/what-does-datetime-mean-in-c) – 2010-05-24 14:57:12