三句话总结:
数值类型的变量不能使用null赋值;
在变量类型前面加上 ? 表示该值为可空;
使用时显示转换为iny型,进行运算时不执行运算,也就是值为空。
原文:
<Essential C#2.0 >
Mark Michaelis
P53
As I pointed out earlier, value typescannot be assigned null because, by definition, they can’t contain reference,including references to nothing.
However, this presents a problem in thereal world, where values are missing. When specifying a count, for example,what do you enter if the count is unknown? One possible solution is todesignate a “magic” value, such as 0 or int.Max, but these are valid integers. Rather,it is desirable to assign null to thevalue type because this is not a valid integer.,
To declare variables that can store nullyou use the nullable modifier, ? . This c#2.0 feature appears in listing 2.17.
static void Main(string[] args)
{
int? count;
//count = null;
count = 22;
switch (count)
{
case null:
Console.WriteLine("the value is null:" + count.ToString() + "!");
break;
default:
Console.WriteLine("the value is not null:" + count.ToString() + "!");
break;
}
}
本文介绍C#中如何使值类型变量能够被赋值为null,通过在变量类型后添加问号(?)实现这一特性,并展示了如何在代码中声明和使用这种可空的值类型变量。
1万+

被折叠的 条评论
为什么被折叠?



