asp Don NET

梦想照进现实

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
null值不能赋给值类型。这是因为,根据定义,值类型不能包含引用,其中包括对“无(nothing)”的引用。然而,在值本来就缺失的时候,这也会带来问题。例如,在指定一个计数的时候,假如计数未知,你应该如何输入?一个可能的解决方案是指定一个特殊值,比如0或者int.Max,但这些都是有效的整数。相反,我们更希望直接将null赋给值类型,因为这不是一个有效的整数。
为了声明可以存储null的变量,要使用可空修饰符。代码清单2-17演示了C# 2.0的这个新特性。

代码清单2-17 使用可空修饰符

static void Main()
{
int? count = null;
do
{
  // ...
}
while(count == null);
}

将null赋给值类型,这在数据库编程中尤其有用。在数据表中,经常出现值类型的列允许为空的情况。除非允许包含null值,否则在C#代码中检索这些列,并将它们的值赋给对应的字段,就会出现问题。幸好,可空修饰符能够妥善地解决这个问题。

posted on 2008-09-25 20:10  abc123def  阅读(295)  评论(0编辑  收藏  举报