您现在的位置是:首页 > 文章详情

C# ?和??使用讲解

日期:2018-10-10点击:608
原文: C# ?和??使用讲解

场景1:使用?定义可空类型

众所周知,C#中的值类型是不可以为null的,如果必须为null,则需要将变量定义为可空类型,如下所示:

int? age = null;

场景2:使用?检查null值

一般我们写代码时,为了避免代码出现空异常System.NullReferenceException,都会写很多的判断语句

Address address = null; if (address != null) { Console.WriteLine(address.PostCode); } Console.ReadLine();

在C#的新语法中,我们可以通过?来检查null值,这样可以减少很多不必要的判断

Address address = null; var postCode = address?.PostCode; Console.WriteLine(postCode); Console.ReadLine();

场景3:使用??设置默认值

在写代码过程中,经常会碰到当变量为null值设置默认值的情况,原来的写法可能是这样的:

int? age = null; if (!age.HasValue) { age = 18; } Console.WriteLine(age); // 输出18  Console.ReadLine();

在C#的新语法中,可以通过??来设置默认值,如果变量值为null,取??右边的值,如果不为null,取变量的值

int? age = null; Console.WriteLine(age ?? 18); // 输出18  age = 20; Console.WriteLine(age ?? 18); // 输出20  Console.ReadLine();
原文链接:https://yq.aliyun.com/articles/677107
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章