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

网站建设以及维护丹阳网站建设价位

网站建设以及维护,丹阳网站建设价位,太原网站制作,建筑前言#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.dnsts.com.cn/news/249493.html

相关文章:

  • 河南省建设厅网站考试成绩查询百度下载安装到桌面上
  • 辞职做美食网站百度seo排名优化排行
  • 建网站 考虑网站建设灬金手指下拉十四
  • 交易网站制度建设网站建设英语怎么说
  • 广州品牌策划公司有哪些网站 流程优化
  • 公司网站建设费会计处理网站搭建怎么弄的
  • 什么是网站建设策划自己公司网站如何添加qq
  • 网站建设 提供源码成都旅游景点大全排名
  • php网站后台上传图片有没有推荐到首页的功能海外推广营销
  • 电子商务师证官网永康信誉好关键词优化
  • 国外域名注册哪个网站好wordpress火车头发布接口
  • 贵阳设计网站建设制作网络网站
  • 百度网站制作推广定制网站建设推广方案
  • 郑州专业网站制作费用报价汕尾网站seo
  • 做网站电脑开一天用多少钱网店推广的重要性
  • 网站建设找邓金平网站做弹窗广告吗
  • 搭建网站账户系统wordpress没有首页
  • 做网站帮外国人淘宝wordpress本地文章上传到服务器
  • 最大网站建设公司排名如何制作h5做网站
  • 济南商城网站开发石家庄网站关键词
  • 网站建设实训报告意见和建议帮忙注册公司
  • 沧州高端网站建设软件管理app
  • 购买域名后如何建立网站影视网站设计论文
  • 淄博网站建设选择臻动传媒大兴企业官网网站建设咨询
  • 网站首页布局设计用什么网页制作手机软件
  • 山东中佛龙建设有限公司网站seo网络推广是干嘛的
  • 网站建设服务器搭建有没有帮忙做问卷调查的网站
  • 高端的网站设计公司百度推广客户端怎么登陆
  • 制作手工灯笼网站建设优化推广
  • wordpress网站主机信息网络技术