日期:2014-05-19  浏览次数:20882 次

申明变量或者引用对象加个?是什么意思
例如:

int?   c;
c   =   1;

这样加多一个问号是什么意思,或者引用对象也加了这样的问号,加个问号与不加问号有什么不同。

------解决方案--------------------
.NET 2.0 的新加语法

表示可空类型,也就是可以向其指定特殊Null类型的值类型。
.NET中可以为空的类型是基于泛型应用的。


------解决方案--------------------
int? i = null;
if (i == null) i = 123;
Text = string.Format( "{0} ", i);

------解决方案--------------------
int? i = null;
int j = i ?? -1;
Text = j.ToString();
------解决方案--------------------
int? c;

实际上完整的写法是:

Nullable <int> c;
c = new Nullable <int> (1);

也就是说原来不带问号的申明:
int c 是不可能有null值存在的。如果带了问号,
那么c就有可能有null值存在。c = null; 是正确的。

对于可空类型。有两个只读属性可以使用:
HasValue 和 Value
如果 HasValue 为 true, 则 Value 属性返回实际值。
------解决方案--------------------
强悍啊。。补丁不行~