每个人都知道至少有两个常用的c#语言习惯用法,其中之一是null 合并运算符:
第一个是单例模式:
return _staticField = _staticField ?? new SingletonConstructor();
还有一个链:
notNullableResult = nullable1 ?? nullable2 ?? nullable3 ?? default(someType);
它在代码中易读、一致、值得使用和易识别。但不幸的是,这就是全部。有时需要扩展或更改。有时我在看到特定情况时会使用它,但我总是犹豫是否其他程序员能够轻松阅读。您知道其他类似函数吗?我希望有更多具体用途,例如Asp.net、EF、LINQ等,在这些情况下,coalesce不仅仅是可接受的,而且是卓越的选择。
lock
块,它仍然只会使代码变得更加混乱。 - Aaronaught