二维码
微世推网

扫一扫关注

当前位置: 首页 » 快报资讯 » 行业介绍 » 正文

C也基础知识拾遗_小问号大用途

放大字体  缩小字体 发布日期:2023-02-07 13:19:28    作者:田靖博    浏览次数:131
导读

C#基础知识拾遗:小问号大用途用法一:null 判断运算符? 表示判断实例是否为null 得简写方式。IEnumerableIAuthorizeData authData =ep?.Metadata.GetOrderedMetadataIAuthorizeData();等同于:if(null!=ep){IEnumerableIAuthorizeData authData =ep.Metadata.GetOrderedMetadataIAuthorizeData();}用法二:null 合并运算符

C#基础知识拾遗:小问号大用途用法一:null 判断运算符

? 表示判断实例是否为null 得简写方式。

IEnumerable<IAuthorizeData> authData = ep?.metadata.GetOrderedmetadata<IAuthorizeData>();

等同于:

if(null!=ep){ IEnumerable<IAuthorizeData> authData = ep.metadata.GetOrderedmetadata<IAuthorizeData>();}用法二:null 合并运算符

?? 表示如果此运算符得左操作数不为 null,则返回左操作数;否则返回右操作数。

IEnumerable<IAuthorizeData> authData = ep?.metadata.GetOrderedmetadata<IAuthorizeData>() ?? Array.Empty<IAuthorizeData>();

等同于:

IEnumerable<IAuthorizeData> authData;if(null!=ep){ if(null!=ep.metadata.GetOrderedmetadata<IAuthorizeData>()) { authData = ep.metadata.GetOrderedmetadata<IAuthorizeData>(); } else { authData = Array.Empty<IAuthorizeData>(); }}else{ authData = Array.Empty<IAuthorizeData>();}用法三:三元运算符

? : 表示根据布尔表达式得计算结果为 true 还是 false 来返回两个表达式中得一个结果。

IEnumerable<IAuthorizeData> authData = ep==null ? metadata.GetOrderedmetadata<IAuthorizeData>() : Array.Empty<IAuthorizeData>();用法四:可空类型

Type? 表示可为 null 类型,等同于 Nullable<T> 。

private int? getNum = null;

等同于:

private Nullable<int> getNum = null;

注意默认值不同:

int Num; //默认 0int? Num; // 默认 nullConsole.WriteLine(Num ?? 0) //输出 0

来自dotNET兄弟会

 
(文/田靖博)
打赏
免责声明
• 
本文为田靖博原创作品•作者: 田靖博。欢迎转载,转载请注明原文出处:http://www.udxd.com/kbzx/show-114899.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们邮件:weilaitui@qq.com。
 

Copyright©2015-2023 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈