📜  ??= 意思是 C# (1)

📅  最后修改于: 2023-12-03 15:29:14.104000             🧑  作者: Mango

??= 在 C# 中的意义

??= 是 C# 8.0 中新增的一种简化赋值语法,目的是以更简洁的方式对变量赋值为其默认值。下面具体介绍它的特性。

语法格式

??= 操作符的语法格式如下:

variable ??= defaultValue;

其中 variable 表示要被赋值的变量,defaultValue 表示要被赋的默认值。

特性

??= 操作符主要有以下特性:

  • variable 的值为 null 时,会将它赋值为 defaultValue
  • variable 的值不为 null 时,不会改变它的值。

在使用 ??= 的时候需要注意,在左侧的 variable 必须是一个可以接受赋值的有效变量。同时,defaultValue 也必须是一个和 variable 具有相同数据类型的有效类型。

示例

下面是使用 ??= 操作符的几个示例:

示例1
string name = null;
string defaultName = "John";
name ??= defaultName;
Console.WriteLine(name); // 输出 "John"

在此示例中,由于 name 的值为 null,所以 name 被赋值为 defaultName 的值。

示例2
string name = "William";
string defaultName = "John";
name ??= defaultName;
Console.WriteLine(name); // 输出 "William"

在此示例中,由于 name 的值不为 null,所以它的值不会发生改变。

示例3
int? number = null;
int defaultNumber = 10;
number ??= defaultNumber;
Console.WriteLine(number); // 输出 "10"

在此示例中,由于 number 的值为 null,所以 number 被赋值为 defaultNumber 的值。

总结

??= 操作符是 C# 8.0 中新增的一种简化赋值语法,主要用于对变量赋值为其默认值的情况。它的使用非常简单,在需要时可以帮助我们以更简明的方式编写代码。