|
|
|
|
移动端

2.3.1 null

《C# 6.0本质论(第5版)》第2章数据类型,本章将探讨这些数据类型,更深入地研究字符串类型,并引入数组的概念。本节为大家介绍null。

作者:周靖/庞燕 译来源:人民邮电出版社|2017-07-21 16:32

【新品产上线啦】51CTO播客,随时随地,碎片化学习

2.3 null和void

与类型有关的两个额外的关键字是null和void。null值由关键字null标识,表明变量不引用任何有效的对象。void表示没有类型,或者没有任何值。

2.3.1 null

null也可以作为字符串字面量的类型使用。null表示将变量设为“无”。null值只能赋给引用类型、指针类型和可空值类型。本书到目前为止只讲过了string这一种引用类型,第5章将详细讨论创建类(它们是引用类型)。现在只需知道引用类型包含的是对内存中的一个位置的引用,与变量的值不同。将变量设为null,会显式地设置引用,使它不指向任何位置。事实上,甚至可以检查引用类型的变量是否不指向任何位置。代码清单2-17演示了如何将null赋给string变量。

代码清单2-17 将null赋给字符串变量

  1. static void Main()  
  2. {  
  3. string faxNumber;  
  4. // ...  
  5. // Clear the value of faxNumber.  
  6. faxNumber = null;  
  7. // ...  

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

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

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

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

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Java网络编程精解

本书结合大量的典型实例,详细介绍了用Java来编写网络应用程序的技术。本书的范例都基于最新的JDK 1.5版本,书中内容包括:Java网络编程的...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊