空合并运算符?? 与C#中的?? =

Goo*_*tan -2 c#

是使用?? 当使用null-coalescing运算符检查null时,C#8.0中存在?? =。有相同的功能行为,使用==有什么好处?操作员。

int? a = null;   
int b = 10;    
a = a ??= 0;
a = a ?? b;
Run Code Online (Sandbox Code Playgroud)

yaa*_*kov 7

什么是“坏习惯”,这是高度论证的,但在这种情况下,并非如此。

新的运算符??=仅替换的常见情况a = a ?? b

仍然有许多其他用户??,例如if (a?.Foo() ?? false)Foo(a ?? 0)var c = a ?? b等。