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() |
必须注意的是,和根本不进行赋值相比,将null赋给一个引用类型完全是不同的概念。换言之,赋值为null的变量已被设置,而未进行赋值的变量未被设置,所以假如在赋值前使用变量,通常会造成一个编译时错误。
将null值赋给一个string,并不等同于为它赋一个空字符串""。null意味着变量无任何值,而""意味着变量有一个值:一个空字符串。这种区分是相当有用的。例如,编程逻辑可以将一个为null的faxNumber解释成“传真号码未知”,而将一个为""的faxNumber解释成“没有传真号码”。
| 回书目 上一节 下一节 |