??=
是一个空合并赋值运算符,它是C# 8.0中引入的。这个运算符用于简化代码,当左侧的变量是null
时,它会将右侧的值赋给左侧的变量,否则左侧的变量保持原有的值。
由于 ??= 在 .Net Framework 4.8.1 并不支持,所以必须新建 .Net8 的项目
案例1
代码:
namespace Test3
{
internal class Program
{
static void Main(string[] args)
{
string? name = null;
name ??= "老王";
Console.WriteLine(name);
Console.ReadKey();
}
}
}
运行:
案例2
代码:
namespace Test3
{
internal class Program
{
static void Main(string[] args)
{
string? name = "张三";
name ??= "老王";
Console.WriteLine(name);
Console.ReadKey();
}
}
}
运行:
end