您所在的位置: 首页>>读书频道>>设计开发>>.Net系列>>

2.3.1 null

http://book.51cto.com  2008-07-18 16:57  (美)米凯利斯(Michaelis, M.)著/周靖译  人民邮电出版社  我要评论(0)
  • 摘要:《C#本质论》第2章数据类型,这一章将探讨基本的C#类型,继续学习C#的基础知识,本小节为大家介绍null。
  • 标签:C#  本质论  程序  null  C#本质论

2.3 null和void

与类型有关的两个额外的关键字是null和void。null是一个字面值,用来表示数据类型(具体就是引用类型)未被赋予任何值。void用来表示没有类型,或者没有任何值。

2.3.1 null

null也可以作为字符串字面量的类型使用。null表示将一个变量设为“无”。null值只能赋给引用类型,不能赋给值类型。本书到目前为止只讲过了string这一种引用类型,第5章将更详细地讨论引用类型。现在只需知道引用类型包含一个指针、一个地址或者一个引用,它指向内存中的一个特定位置,而且该位置并不是实际数据所在的位置。将变量设为null,会显式地设置引用,使它不指向任何地方。事实上,甚至可以检查一个引用类型是否不指向任何地方。代码清单2-16演示了如何将null赋给一个string变量。

代码清单2-16 将null值赋给一个字符串

static void Main()
{
string faxNumber;
// ...
// Clear the value of faxNumber.
faxNumber = null; 

// ...
}

必须注意的是,和根本不进行赋值相比,将null赋给一个引用类型完全是不同的概念。换言之,赋值为null的变量已被设置,而未进行赋值的变量未被设置,所以假如在赋值前使用变量,通常会造成一个编译时错误。

将null值赋给一个string,并不等同于为它赋一个空字符串""。null意味着变量无任何值,而""意味着变量有一个值:一个空字符串。这种区分是相当有用的。例如,编程逻辑可以将一个为null的faxNumber解释成“传真号码未知”,而将一个为""的faxNumber解释成“没有传真号码”。

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
上一篇: 2.2.3 字符串(3) 下一篇: 2.3.2 void
深入Vista应用程序开发
程序员如何成长?
C#实用基础教程
C#技术开发指南
Ruby on Rails 社区网站开发
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有