码迷,mamicode.com
首页 > Windows程序 > 详细

C#的?和??

时间:2018-06-24 16:13:07      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:ali   个数   无法   operation   实现   类型   ted   null   只读   

1.??

为了实现Nullable数据类型转换成non-Nullable类型数据,才有的一个操作符;

意义:一变量取值,取符号左边的值,若左边为null,那么取赋值??右边的;

栗子:int  a=3??-1 ; //??符左边是3,不为空,所以a的值是3;

栗子2:int b=a??9;//??若a为空,则b取值为9;

 2.?:

三元运算符,可参看之前的文章;另条件操作符是向右关联的,从左到右进行计算

栗子:a?b:c?d:e 可理解为 a?b:(c?d:e)

3.?

意义:用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 NullAble 类型的。

【引用:”?(单问号)“修饰符,是System.Nullable的缩写形式,比如int?代表是可空的整形,例如:int? a = 1 或者 int? b=null。Nullable类型具有一个HasValue的bool类型只读属性,当Nullable类型实例的该属性为true时,则表示该实例是非空实例,包含一个已知值Value,HasValue为false时,访问Value属性将导致System.InvalidOperationException。这个其实我不大懂的

栗子:

int a; //默认值0
int? aa; //默认值null 

C#的?和??

标签:ali   个数   无法   operation   实现   类型   ted   null   只读   

原文地址:https://www.cnblogs.com/allyh/p/9220509.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!