如果C#允许一个?? =运算符,那将是非常好的.我发现自己经常写下面的内容:
something = something ?? new Something();
我宁愿这样写:
something ??= new Something();
思考?新的语言扩展总是存在争议的本质.
像Ruby这样的其他编程语言经常使用它:
something ||= Something.new
如果'something'是属性访问器的私有字段,则可以执行以下操作....如果发现该字段为null,则执行赋值.
private Something something; public Something Something { get { return something ?? (something = new Something()); } }