|
|
51CTO旗下网站
|
|
移动端

2.3.1 null

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

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

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
分享:
大家都在看
猜你喜欢

订阅专栏+更多

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

218人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | yeyingcai

472人订阅学习

读 书 +更多

入侵的艺术

黑客也有优劣之分。很显然对他们的奖励之一是利用黑客手段非法入侵我们公司的安全站点或个人系统。另一种奖励可能是他们的黑客行为构成了黑...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客