.net ??和??=空合并运算符之间的区别是什么[duplicate]

gcuhipw9  于 2022-12-24  发布在  .NET
关注(0)|答案(1)|浏览(127)

此问题在此处已有答案

Practical purpose of the null-coalescing assignment operator in C#?(3个答案)
4天前关闭。
已经知道如何使用??运算符

int b = a ?? 0;

但问题是在C#中何时使用??=

euoag5mw

euoag5mw1#

何时使用??=运算符?
From MSDN
仅当左操作数的计算结果为null时,空合并赋值运算符??=才会将右操作数的值赋给左操作数。
例如,

int? a = null;
...
a ??= 5;   //Here a is null, so assign 5 to a
int b = a ?? 0;
a ??= 5;

可以写成

a = a ?? 5;

相关问题