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

2.5 可空修饰符

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

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

2.5 可空修饰符

一般不能将null值赋给值类型。这是因为根据定义,值类型不能包含引用,即使是对“无(nothing)”的引用。但在值本来就缺失的时候,这也会带来问题。例如,在指定计数的时候,假如计数未知,应该如何输入?一个可能的解决方案是指定特殊值,比如-1或者int.MaxValue,但这些都是有效的整数。我们倒更希望直接将null赋给值类型,因为这不是有效的整数。

为了声明可以存储null的变量,要使用可空修饰符?。代码清单2-20演示了从C# 2.0开始引入的这个特性。

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

  1. static void Main()  
  2. {  
  3. int? count = null;  
  4. do  
  5. {  
  6. // ...  
  7. }  
  8. while(count == null);  

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

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

51CTO读书频道二维码


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

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

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

读 书 +更多

Microsoft SQL Server 2005技术内幕:存储引擎

本书是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊