所以不用写了:
if (obj.Collection == null)
obj.Collection = new Collection();
obj.Collection.Add(something);
我想到写:
obj.Collection = obj.Collection ?? new Collection;
obj.Collection.Add(something);
感觉有点不对,尤其是“obj.Collection = obj.Collection...”这部分
大家怎么看?
问候,
最佳答案
如果必须在这两个代码块之间做出选择,我会使用前者。它更具可读性,并且是一种常见的模式。 ??
在需要默认值的情况下很有用(例如,DateTime date = nullableDateTimeInstance ?? defaultDate;
)。
但坦率地说,我会尽量避免出现我想添加到集合中但集合可能为空的情况。相反,我会确保在构造函数中或任何情况下初始化集合。
关于c# - 怎么了??运算符这样使用 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4775872/