读书人

申明变量或许引用对象加个?是什么意思

发布时间: 2011-12-20 22:26:40 作者: rapoo

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

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 属性返回实际值。
[解决办法]
强悍啊。。补丁不行~

读书人网 >C#

热点推荐