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

阅读: 评论:0

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

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

1、可空类型修饰符(?)
引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。
例如:string str = null ;是正确的
int a = null;编译器就会报错
为了使值类型也可为空,用可空类型修饰符“?”来表示,表现形式为“T?”。
例如: int?表示为可空的整形,DataTime?表示可空的时间。
T?其实是System.Nullable(泛型结构)的缩写形式,也就是当你用到T?时编译器编译成System.Nullable的形式。
2、三元(运算符)表达式(?:)
例如:x?y:z表示如果表达式x为true,则返回y;如果x为false,则返回z。
3、空合并运算符(??)
用于定义可空类型和引用类型的默认值。如果此运算符的左操作数不为null,则此运算将返回左操作数。
例如:a??b 当a为null时,则返回b;a不为null时,则返回a本身。

本文发布于:2024-01-28 15:09:50,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064257968295.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:区别
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23