小编给大家分享一下C#中nullable类型有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
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>结构,该结构已初始化为基础值。
以上是“C#中nullable类型有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。