是使用?? 当使用null-coalescing运算符检查null时,C#8.0中存在?? =。有相同的功能行为,使用==有什么好处?操作员。
int? a = null;
int b = 10;
a = a ??= 0;
a = a ?? b;
Run Code Online (Sandbox Code Playgroud)
什么是“坏习惯”,这是高度论证的,但在这种情况下,并非如此。
新的运算符??=仅替换的常见情况a = a ?? b。
仍然有许多其他用户??,例如if (a?.Foo() ?? false)或Foo(a ?? 0)或var c = a ?? b等。