现在的位置: 首页 > web前端 > 正文

nullable类型有哪些

2020年07月16日 web前端 ⁄ 共 966字 ⁄ 字号 评论关闭

  Nullable类提供Nullable<T>结构的互补支持。Nullable类支持获取可以为null的类型的基础类型,以及针对其基础值类型不支持泛型比较和相等运算的可以为null的类型对的比较和相等性运算。


  C#中的?和??,null和Nullable


  //A.比如下面一句,直接定义int为null是错误的,错误提示为无法将null转化成int,因为后者是不可以为null的值类型。


  privateintgetNum=null;


  //B.如果修改为下面的写法就可以初始指为null,在特定情况下?等同于基础类型为Nullable。


  privateint?getNum=null;


  privateNullable<int>getNumNull=null;


  NullableClass怎么样


  支持可分配有null的值类型。无法继承此类。


  C#


  复制


  [System.Runtime.InteropServices.ComVisible(true)]


  publicstaticclassNullable


  Inheritance


  Object


  Nullable


  Attributes


  ComVisibleAttribute


  Remarks


  如果可以为类型赋值或将其分配到null,则称该类型为null,这意味着该类型没有任何值。默认情况下,所有引用类型(如String)都可以为null,但所有值类型(如Int32)都不是。


  在C#和VisualBasic中,通过在值类型后使用?表示法,将值类型标记为可以为null。例如,在VisualBasic中C#int?或Integer?声明可以null分配的整数值类型。


  装箱和取消装箱


  当对可以为null的类型进行装箱时,公共语言运行时将自动框Nullable<T>对象的基础值,而不是Nullable<T>对象本身。也就是说,如果HasValue属性为true,则Value属性的内容为装箱。如果HasValue属性为false,则null为装箱。如果可以为null的类型的基础值为取消装箱,则公共语言运行时将创建一个新的Nullable<T>结构,该结构已初始化为基础值。


  总之,Nullable类给大家简单的介绍了一些,希望大家多看看。

抱歉!评论已关闭.