首页 > Windows开发 > 详细

C#中?.、 ?、 ?? 、? : 的区别

时间:2021-05-24 16:42:14      阅读:17      评论:0      收藏:0      [点我收藏+]

C#中?.、 ?、 ?? 、? : 的区别。

1. 可空类型修饰符(?)
引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。 
例如:int? 表示可空的整形,DateTime? 表示可为空的时间。 
2. 三元(运算符)表达式(?:)
 例如:x?y:z 表示如果表达式x为true,则返回y;
如果x为false,则返回z,是省略if{}else{}的简单形式。  

3. 空合并运算符(??)
用于定义可空类型和引用类型的默认值。
如果此运算符的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。
例如:a??b 当a为null时则返回b,a不为null时则返回a本身。 
空合并运算符为右结合运算符,即操作时从右向左进行组合的。
如,“a??b??c”的形式按“a??(b??c)”计算。

4.NULL检查运算符(?.) 
 //?. ->如果为不为NULL,则执行里面的语句;
 if (model.FeeList?.Any() ?? false)
            {
                //执行语句
            }

 

C#中?.、 ?、 ?? 、? : 的区别

原文:https://www.cnblogs.com/nanxixi/p/14804159.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!