申明变量或者引用对象加个?是什么意思
例如:
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 属性返回实际值。
------解决方案--------------------强悍啊。。补丁不行~