码迷,mamicode.com
首页 > Windows程序 > 详细

C# ?和??使用讲解

时间:2018-10-10 19:18:55      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:讲解   不为   必须   line   不可   语句   microsoft   异常   cee   

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

C# ?和??使用讲解

标签:讲解   不为   必须   line   不可   语句   microsoft   异常   cee   

原文地址:https://www.cnblogs.com/zwwhnly/p/9767968.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!