三句话总结:
数值类型的变量不能使用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;
}
}