当前位置: 首页 > news >正文

铁道部建设监理协会网站最近最新手机中文大全10

铁道部建设监理协会网站,最近最新手机中文大全10,网站开发交接,你愿意做我女朋友吗表白网站前言#xff1a; 问#xff1a;为什么会有可空值类型的诞生#xff1f; 答#xff1a;应对在某些特定场景中获取的信息可能是不完整的。 C# 1中的可空值类型 在C#1中没有对应的表示Null值的方法。当时普遍都是采用其他方式。第一种在数据缺失的情况下给其一个默认值。第…前言 问为什么会有可空值类型的诞生 答应对在某些特定场景中获取的信息可能是不完整的。 C# 1中的可空值类型 在C#1中没有对应的表示Null值的方法。当时普遍都是采用其他方式。第一种在数据缺失的情况下给其一个默认值。第二种是采用一个标识符来表示当前的数据是否有值。无论是哪种方式都会对我们的维护和多余的逻辑重复。 C# 2中的可空值类型 可空值类型定义如下所示 在早期结构体的定义就是通过NullableTT为我们需要传递的类型实参。T在结构体当中我门称呼为基础类型。如当前Nullableint结构体的基础类型是int。 举个例子 Nullabledouble myNullable new Nullabledouble(); 提示1 结构体会隐藏一个默认公共无参的构造器(结构体的共性) 2 结构体中的类型形参只支持值类型。约束为 Struct的原因如int、double、decimal、long、float 访问可空值类型  static void Main(){System.Nullableint myStruct new System.Nullableint();//myStruct 10;//HasValue: 指可空值类型中是否具有实际有效的值 if (myStruct.HasValue){// Value:指可空值类型结构中实际的值System.Console.WriteLine(myStruct.Value);}else{throw new System.Exception();}System.Console.ReadLine();} 可空值类型提供的方法 无参的方法GetValueOrDefault static void Main(){System.Nullabledecimal myStruct new System.Nullabledecimal();myStruct 10;//输出10 System.Console.WriteLine(myStruct.GetValueOrDefault());System.Nullabledecimal myStruct2 new System.Nullabledecimal();//输出基础类型的默认值//输出0 与 typeof(decimal)效果一致System.Console.WriteLine(myStruct2.GetValueOrDefault());System.Console.ReadLine();} 示例解释         当前的方法效果是当属性HasValue为true的时候是代表当前结构体是有实际值的情况下那么返回的就是当前结构体实际值如果为false那么则返回当前实际结构体的基础类型的默认值 。 有参的方法GetValueOrDefault System.Console.WriteLine(myStruct.GetValueOrDefault(45)); 示例解释         与上面一个无参的重载函数区别在于当结构体并没有实际值的情况下那么返回的就是当前您传入的值。当结构体具有实际值的情况下那么返回的则是实际值。  重写的Equals方法 public override bool Equals(object other){if (!hasValue){return other null;}if (other null){return false;}return value.Equals(other);} 示例解释当结构体与被比较的object类型的数据都不为null的情况下再进行比较  可空值类型与基础类型的转换  System.Nullableint myStruct new System.Nullableint(); //可以隐式执行基础类型与 Nullableint 的转化 int ints 0; myStruct ints; //显示转换 则相反 int intss (int)myStruct; 注意在显示转换中如果可空值类型结构体没有值则是默认值的情况下会抛出异常因为当前的默认值将会是Nullnull是无法赋值给非空的值类型的。 装箱行为 装箱行为在可空类型与非可空类型是不同的其中非可空类型被装箱时返回的结果类型就是原始的装箱类型而可空类型发返回类型需要由 HasValue属性来决定当HasValue为False时那么当前的非可空类型的引用则是Null 引用为True时才是装箱时对应的数据类型的引用。 举个例子 int X default; object o X; Console.WriteLine(typeof(int) o.GetType()); Console.ReadLine(); 示例解释当前是非可空类型int 装箱到 object 类型中返回的结果类型就是原始的装箱类型 //没有实际值 Nullableint int default; object obj int; Console.WriteLine(obj null);//具有实际值 Nullableint int2 1; object obj2 int2; Console.WriteLine(obj2 null);Console.ReadLine();示例解释将可空类型装箱运行将会报错  简化可空值类型特性 C# 提供了 NullableT 结构允许值类型具有 null 值。通过使用 ? 后缀可以创建可空版本的值类型。例如int? 是一个可空的 int 类型。按照编码习惯使用或者按照项目编码习惯二者编译的效果相同 产生IL的代码是一致的
http://www.hkea.cn/news/14568947/

相关文章:

  • 让别人做网站如何防止后门网页美工设计需要学什么
  • 2019建设摩托官方网站微网站 前景
  • 广州市网站建站商标注册网址
  • 做仿牌网站被封网站换空间 怎么下载
  • 宁波网站建设哪里便宜长春网站推广方式
  • 基于响应式设计的网站建设有ip怎么用自己的主机做网站
  • 网站广告图怎么做潘家园做网站公司
  • 免费手机网站开发网店网页制作
  • 自建门户网站网页设计与制作开发遇到的困难
  • 做新网站的swot分析外贸公司的网站建设
  • 网站建设德语随州王章欣
  • 用wordpress建立的网站全网推广图片
  • wordpress主题的网站昆明猫咪科技网站建设
  • 查看网站有没有备案石家庄seo网站优化公司
  • 磐安住房和城乡建设部网站现在的网站做多大尺寸的
  • 云建站微网站网站首页布局分析
  • 网站开发与网站运营室内设计培训网课
  • 网站评论管理怎么做的wordpress+游戏网站
  • 网站被盗用好看又免费的图片素材网站
  • 手机端移动网站建设如何做一个论坛网站
  • 网站访客qq抓取原理张家港个人网站制作
  • 一流的镇江网站优化wordpress定制后台图片上传功能
  • 网站建设空间步骤详解网站建设类的计入什么科目
  • 专做定制旅游网站有哪些网站建设 cn
  • 网站开发有什么语言h5建站免费
  • 官方网站建设进度表商贸有限公司门头照片
  • 培训网站排名thinkphp做网站快吗
  • 多语言版本网站制作做网站用什么ide
  • 浙江建设招生网站学校的网站建设费如何入账
  • 义乌专业做网站的广州网站推广联盟