我有点不清楚何时/如果必须使用可空类型的Value
属性获取可空类型中包含的值。考虑下面的例子:C#可为空类型和值属性
int? x = 10;
Console.WriteLine("The value of 'x' is " + x.Value);
Console.WriteLine("The value of 'x' is " + x);
这两个返回相同的值(10)。
但是,如果我最初将x
设置为null
,则第一个Console.WriteLine
会引发异常,而第二个则不会。
所以,我的问题是这样的。使用Value
属性有什么意义?似乎并不需要获得实际值(即使它的值为null
),并且如果值确实为null
,则会抛出异常。
或者可能x.GetValueOrDefault(20),但是空合并显然很好,不知道这是可能的。 – jishi 2011-03-23 13:32:03
@jishi:不错的选择,我会在那里添加它。 – 2011-03-23 13:34:29