📅  最后修改于: 2023-12-03 15:29:14.104000             🧑  作者: Mango
??=
是 C# 8.0 中新增的一种简化赋值语法,目的是以更简洁的方式对变量赋值为其默认值。下面具体介绍它的特性。
??=
操作符的语法格式如下:
variable ??= defaultValue;
其中 variable
表示要被赋值的变量,defaultValue
表示要被赋的默认值。
??=
操作符主要有以下特性:
variable
的值为 null
时,会将它赋值为 defaultValue
;variable
的值不为 null
时,不会改变它的值。在使用 ??=
的时候需要注意,在左侧的 variable
必须是一个可以接受赋值的有效变量。同时,defaultValue
也必须是一个和 variable
具有相同数据类型的有效类型。
下面是使用 ??=
操作符的几个示例:
string name = null;
string defaultName = "John";
name ??= defaultName;
Console.WriteLine(name); // 输出 "John"
在此示例中,由于 name
的值为 null
,所以 name
被赋值为 defaultName
的值。
string name = "William";
string defaultName = "John";
name ??= defaultName;
Console.WriteLine(name); // 输出 "William"
在此示例中,由于 name
的值不为 null
,所以它的值不会发生改变。
int? number = null;
int defaultNumber = 10;
number ??= defaultNumber;
Console.WriteLine(number); // 输出 "10"
在此示例中,由于 number
的值为 null
,所以 number
被赋值为 defaultNumber
的值。
??=
操作符是 C# 8.0 中新增的一种简化赋值语法,主要用于对变量赋值为其默认值的情况。它的使用非常简单,在需要时可以帮助我们以更简明的方式编写代码。