C#中? 、?? 、?. 、??= 的用法和说明(转载)
一、可空类型修饰符< ? >
引用类型能用空引用来表示一个表示一个不存在的值,但是值类型不能。例如:
string str = null; |
为了使值类型也能使用可空类型,就可以用 “ ? “来表示,表现形式为”T?”。例如:
int i? //表示可空的整型 |
二、空合并运算符< ?? >
用于定义引用类型和可空类型的默认值。如果此运算符的左操作数不为Null,则此操作符将返回左操作数,否则返回右操作数。
var c = a??b //当a不为null时返回a,为null时返回b
三、< ?. >
不为null时执行后面的操作。例如:
Person.Name?.Person.Code |
四、< ??= >
C# 8.0 引入了 null 合并赋值运算符 ??=。 仅当左操作数计算为 null 时,才能使用运算符 ??= 将其右操作数的值分配给左操作数。
List<int> numbers = null; |
版权声明:本文为CSDN博主「机械键盘侠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xuchen_wang/article/details/102850615