c#中的null-coalescing运算符使您可以缩短代码
if (_mywidget == null)
return new Widget();
else
return _mywidget;
向下:
return _mywidget ?? new Widget();
我一直发现,我想在C#中拥有一个有用的运算符,它将允许您返回对象的属性,或者如果对象为null则返回其他值。所以我想替换
if (_mywidget == null)
return 5;
else
return _mywidget.Length;
带有:
return _mywidget.Length ??! 5;
我不禁想到该操作符不存在一定的原因。它有代码味吗?有没有更好的方法可以写这个?(我知道空对象模式,但是用它来替换这四行代码似乎有点过分。)
??!
是C ++中的运算符。:-)