注: 这个问题是在介绍 C # 6/Visual Studio 2015中的 .?
操作符之前提出的。
我们都经历过这种情况,我们有一些深度属性,比如 cake.rosting.berry es.loader,我们需要检查它是否为 null,因此没有异常。这样做的方法是使用 short-Circuit iting if 语句
if (cake != null && cake.frosting != null && cake.frosting.berries != null) ...
这并不完全优雅,也许应该有一种更简单的方法来检查整个链,并查看它是否遇到空变量/属性。
是否有可能使用某种扩展方法,或者它是一种语言特性,或者它只是一个坏主意?