网站大量收购独家精品文档,联系QQ:2885784924

认识全面的可空值类型(.net).doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
认识全面的可空值类型(.net)

走 或者 String Interning(字符串 什么是string? 什 字符串驻留的运行机制及执行过程? 字符串 带着几个问号,你必须知道的.NET,认识全面的null 1 从什null开始? null,一个 一般null表示空“什”并不意味“什都不是”。null是如此的重要,以致于在 JavaScript中,Null5种基本的原始类型之一,与Undefined、Boolean、Number和String并 重要性同.NET中,但是一定要澄清的是,null并不等同于0,,string.Empty“零”null 具有“什”,既不是Object 也不是User一个空引用而已。 在上述null意.NET中null又有什 在.NET中,null表示一个null是 object obj = null; 此obj仅仅是一个保存在线程栈上的引用指针,不代表任何意义,obj未指向任何有效null。 object obj和object obj = null的区别? 那object obj和object obj = null有主要体现在编译器的检查上。默认情况下,创建一个引用类型变量时,CLR即将其初始化null,表示不指向任何有效 // Copyright : // Author : Anytao, // Release : 2008/07/31 1.0 ? //obj //object obj; ? //编译器理解为执行了初始化操作,所以不引发编译时错误 object obj = null; if (obj == null) { //运行时抛出NullReferenceException异常 Console.WriteLine(obj.ToString()); } 注:当我把当 然,我也慎重的100%确定性的答案。不 上,也将 static void Main(string[] args) { object o; object obj = null; } 反IL时,二者在IL层还是存在一定的差别: .method private hidebysig static void Main(string[] args) cil managed { .entrypoint .maxstack 1 .locals init ( [0] object o, [1] object obj) L_0000: nop L_0001: ldnull L_0002: stloc.1 L_0003: ret } 前者没有发生任何附加操作;而后者通过ldnull指令推evaluation stack,而stloc 回到规则 在.NET中,null有如下的基本 null为引用 null不等同于0,,string.Empty。 引用is或as模式null判断。 快捷参考 is和as模式,可以参考《你必.NET》 7.5“恩怨情仇:is和as” 第一回:恩怨情仇:is和as 判断一个null,可以==或!=操作符来完成。 对任何值为nul的lNullReferenceException异常。 2 NullableT(可空 一直以来,null都是引用类型的特有产物,对值类型进行null操作将在 //抛出编译时错误 int i = null; if (i == null) { Console.WriteLine(i is null.); } 正如示例中所示,很多情况下作“值”也可以“空” 情况的映射。因此,自.NET 2.0以来,这一特权被新的System.NullableT(即,可空 //NullableT解决了这一问题 int? i = null; if (i == null) {

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档