【发布时间】:2013-09-24 22:22:21
【问题描述】:
我是 Java 程序员,我是 C# 新手,我真的不明白为什么需要 Nullable 类型。任何人都可以解释我吗? 例如我有代码:
XmlReader xr=...
string propertyValue=xr.GetAttribute("SomeProperty");
if(propertyValue!=null) {
//some code here
}
propertyValue 类型是 'string' 而不是 'string?'但“GetAttribute”可以返回 null。 所以,事实上,我应该为每个变量检查它的值是否为空,那么为什么可以为空类型'*?一般是需要的。 它有什么用处?
还有第二个问题: 如何编写我自己的返回类型为 'string' 的方法并从中返回 null 值?
【问题讨论】:
-
这个问题的关键概念问题很简单:以
string为例......因为string不是结构,它不适合。如果你做例子int,它可能会变得更不言自明