C#:基础编程篇

本节知识

一:Nullable类


①:支持可分配有 null 的值类型。 无法继承此类。
②:命名空间:System
程序集:System.Runtime.dll, mscorlib.dll, netstandard.dll

③:方法

例如:

            int ?num1 = null;double? num2 = new double?();if(num1==null){Console.WriteLine("num1为null");}if(num2==null){Console.WriteLine("num2为null");}

运行结果:

备注:默认情况下,所有引用类型(如 String)都可以为 null,但所有值类型(如 Int32)都不是,在C#和 Visual Basic 中,通过在值类型后使用 ? 表示法,将值类型标记为可以为 null。


二:Nullable < T >结构体


Nullable 类提供 Nullable 结构互补支持。
①:表示可分配有 null 的值类型。
②:命名空间:System
程序集:System.Runtime.dll, mscorlib.dll, netstandard.dll

③:构造函数,属性,方法,运算符

④:练习

  Nullable<int> num3 = new Nullable<int>(3);if (num3.HasValue){Console.WriteLine(num2.Value);}else{Console.WriteLine("该值不是一个有效值");}

运行结果:

注意:Nullable.HasValue为false时,尝试访问 Value 属性将引发 InvalidOperationException异常。

       Nullable<int> num2 = new Nullable<int>();Console.WriteLine(num2.Value);


⑤:装箱和取消装箱

⑥:int?和Nullable< int >是等价的

    Nullable<int> num2 = new Nullable<int>(3);int? num3=3;Console.WriteLine(num2.Value+";"+num3.Value);Console.ReadLine();

运行结果:

源代码


三:Nullable适用版本



四:??是什么意思

        int? num1 = null;int? num2 = 6;int num3;num3 = num1 ?? 3;//这里3就是预设值Console.WriteLine("num3={0}",num3);num3 = num2 ?? 3;Console.WriteLine("num3={0}", num3);Console.ReadLine();

运行结果:

备注:??的作用,就是防止出现null的情况,引用了一个预设值,如果我给的值是null就引用预设值,如果我给的值不是null,就用我给的值。


相关链接:
菜鸟教程
Nullable< T > ApI

C#可空类型(Nullable)相关推荐

  1. 可空类型Nullable

    Nullable类型: 值类型变量默认为0,不可空,为了使它可空,出现了Nullable类型,类型前面加? 变为引用类型 值类型是没有null值的,比如int,DateTime,它们都有默认值.举个例 ...

  2. 使用可空类型(Nullable)

    可空类型Nullable<T>是.NET Framework 2.0中新增的类型,用它声明的值类型,除了存值之外,还可以表示为null,即该类型的变量可以为空. 下面是Nullable结构 ...

  3. 了解下C# 可空类型(Nullable)

    C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值. C# 单问号 ? 与 双问号 ?? ? 单问号用于对 int ...

  4. C#可空类型(Nullable Types)

    在讨论可空类型前,先回顾一下.NET 对于类型的定义:  ".NET 中类型分为值类型和引用类型,值类型不能为空,引用类型可为空";  在这样的前提下,所有值类型都赋予了一个初始值 ...

  5. 在C#2.0中使用Nullable可空类型(转帖)

    在C#2.0中使用Nullable可空类型 在C#1.x的版本中,一个值类型变量是不可以被赋予null值的,否则会产生异常.在C#2.0中,微软提供了Nullable类型,允许用它定义包含null值( ...

  6. 分析 C# 2.0 新特性 -- 空类型(Nullable Types)

    分析 C# 2.0 新特性  -- 空类型(Nullable Types) 在讨论C# 2.0 空类型前,先回顾一下.NET 1.0和.NET 1.1对于类型有下面这样的定义: ".NET  ...

  7. C#基础入门教程-可空类型(Nullable)

    目录 C#可空类型(Nullable) C# 可空类型(Nullable) 实例练习 Null 合并运算符( ?? ) 实例练习 C#可空类型(Nullable) ? : 单问号用于对 int,dou ...

  8. [C#基础知识系列]专题十:全面解析可空类型

    引言: C# 2.0 中还引入了可空类型,可空类型也是值类型,只是可空类型是包括null的值类型的,下面就介绍下C#2.0中对可空类型的支持具体有哪些内容(最近一直都在思考如何来分享这篇文章的,因为刚 ...

  9. 【Kotlin】变量简介 ( 可空类型 | lateinit | 初始化判定 | 非空类型 | !! 与 ? 修饰符 | ?= ?. ?: 运算符 | 抽象属性变量)

    文章目录 I . Kotlin 变量总结 II . Kotlin 非空变量 III . 非空变量不能赋空 IV . lateinit 关键字 V . lateinit 初始化判定 VI . Kotli ...

  10. C#学习笔记(六):可空类型、匿名方法和迭代器

    可空类型 为啥要引入可空类型? 在数据库中,字段是可以为null值的,那么在C#中为了方便的操作数据库的值,微软引入了可空类型. 声明可空类型 我们可以使用两种方法声明一个可空类型: 1 Nullab ...

最新文章

  1. Solaris10 for x86网卡替换配置
  2. c语言是非结构化程序设计语言,第章_结构化程序设计基础和C语言的控制结构(fb).ppt...
  3. java连接weblogic_java学习:weblogic下JNDI及JDBC连接测试(weblogic环境)
  4. 51Nod 1007 正整数分组(01背包)
  5. VMProtect SDK+ASProtect SDK保护
  6. 我的世界java有三叉戟杀手吗_我的世界-三叉戟竟能这么用 这样得怪物头颅长见识了!...
  7. PHP 每小时抽奖,php分时间段的抽奖程序代码
  8. 尚学堂java 参考答案 第八章
  9. 【Kafka】kafka 消费者组静态成员(static consumer member)
  10. Python自动化开发从浅入深-进阶(socketServer)
  11. 错误解决:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to star
  12. splitcontainer控件删除方法
  13. 【Love2d从青铜到王者】第十五篇:Love2d之角度和距离(Angles and distance)
  14. Prolog编程求解图搜索问题
  15. Mermaid语法绘制图表
  16. 记一次数据结构与算法作业:利用循环和递归输出1-N的正整数的程序分析比较
  17. 【26】地图可视化:基于 Echarts + Java SpringBoot 的动态实时地图组件 - 点气泡流向组合区域三级下钻地图
  18. python音乐可视化效果_Python 一个漂亮的音乐节奏可视化方案!我觉得可行
  19. 军武科技获5000万元B轮融资 男性用户占比达到90%以上...
  20. mac os 录屏快捷键_如何才能高效的使用mac笔记本?mac笔记本高效使用教程

热门文章

  1. 如何为开源项目做市场
  2. 求求你,千万别为我好!
  3. 导入超大mysql数据库文件工具_用 BigDump 工具导入超大 MySQL 数据库备份文件
  4. 【三维路径规划】基于matlab无人机三维路径规划【含Matlab源码 1262期】
  5. 【树叶识别】基于matlab HU不变矩树叶识别【含Matlab源码 797期】
  6. 【图像分割】基于matlab免疫遗传算法单阈值图像分割【含Matlab源码 729期】
  7. python复制csv数据_如何使用Python将CSV数据复制到现有xlsx文件
  8. android系统结构与应用编程 实验报告_学习编程或编码的最佳Android应用程序
  9. vue Mutation 必须是同步函数 为什么_Vue知识点——基础篇
  10. ai人工智能操控什么意思_为什么要建立AI分散式自治组织(AI DAO)