只是为了好奇/方便:C# 提供了我所知道的两个很酷的条件表达式功能:
string trimmed = (input == null) ? null : input.Trim();
and
string trimmed = (input ?? "").Trim();
对于我经常遇到的情况,我想念另一个这样的表达方式:
如果输入引用为空,则输出应该为空。否则,输出应该是访问输入对象的方法或属性的结果。
我在第一个例子中已经做到了这一点,但是(input == null) ? null : input.Trim()
非常冗长且难以阅读。
对于这种情况还有其他条件表达式吗,或者我可以使用??
优雅地操作?
像 Groovy 的空安全解引用运算符之类的东西?
string zipCode = customer?.Address?.ZipCode;
我猜想 C# 团队已经研究过这个问题,发现它并不像人们想象的那样简单优雅地设计......尽管我还没有听说过问题的细节。
恐怕我现在不相信该语言中有任何这样的事情......而且我还没有听说过任何相关计划,尽管这并不是说它在某个时候不会发生。
编辑:它现在将成为 C# 6 的一部分,作为“空条件运算符”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)