一 C#中??的用法
?? 运算符称为“ null 合并运算符”
,用于定义可以为 null 值的类型和引用类型的默认值。合并运算符为类型转换定义了一个预设值,以防可空类型的值为Null
。
//1.定义Num为nu11,输出结果为0
private int? Num = null;
Console.WriteLine(Num?? 0);
//2.定义Num为666,输出结果为666
private int Num= 666;
Console.WriteLine(Num?? 0);
二 C#中.?的用法
在C# 6.0中,引入了一个 ?. 的运算符。
如果对象为NULL,则不进行后面的获取成员的运算,直接返回NULL,用于简化判null代码
a和b会不会是null,所以加了if判断,不加会抛出空指针异常
if (a!= null)
{
Console.WriteLine(exception.Message);
}
if (b!= null)
{
Console.WriteLine(array[0]);
}
可以简写成
Console.WriteLine(exception?.Message);
Console.WriteLine(array?[0]);