可能重复:
In your opinion what is more readable: ?? (operator) or use of if's空合并运算符 - 您更喜欢以下哪一项?
比方说,你有一个检查是一个列表是空的方法。如果是这样,它将实例化它。
一般情况下,我们可以这样做:
if (StringList == null)
StringList = new List<string>();
我最近了解了空合并运算符和我很想改变这种状况到:
StringList = StringList ?? new List<string>();
它更紧凑,看起来像它将被编译为与“传统”方法相同的一组指令。
可能有些迂腐,但我想知道你是否对这种方法有任何保留,并且你实际使用了哪种方法。
我会用较短的一个。任何值得他在盐中加权的C#程序员都知道''''操作符(或者至少很容易被教导) – Earlz 2011-03-25 10:35:43
请注意,它们并不完全相同[如果StringList是属性](http://stackoverflow.com/questions/5403316/coalesce-operator-usage-c/5403354#5403354).. – Blorgbeard 2011-03-25 10:37:53
可能的重复[在你看来更可读:? (运营商)或使用if](http://stackoverflow.com/questions/1324331/in-your-opinion-what-is-more-readable-operator-or-use-of-ifs)和http:// stackoverflow.com/q/1791852/310574 – Gabe 2011-03-25 10:39:30