当前位置: 移动技术网 > IT编程>开发语言>.net > C# ?和??使用讲解

C# ?和??使用讲解

2018年10月11日  | 移动技术网IT编程  | 我要评论

免费com域名申请,阿穆尔虎,莉亚迪桑下海第一片

场景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();

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网