【发布时间】:2012-07-28 21:09:06
【问题描述】:
是否有更好的方法来执行以下操作:
在继续循环之前,我需要在 file.Headers 上检查 null
if (file.Headers != null)
{
foreach (var h in file.Headers)
{
//set lots of properties & some other stuff
}
}
简而言之,由于我的代码中发生的缩进级别,在 if 中编写 foreach 看起来有点难看。
会评估为
foreach(var h in (file.Headers != null))
{
//do stuff
}
可能吗?
【问题讨论】:
-
@AdrianFaciu 我认为这完全不同。该问题在执行 for-each 之前首先检查集合是否为空。您的链接检查集合中的项目是否为空。
-
C# 8 可以简单地具有某种空条件 foreach,即这样的语法:foreach? (var i in collection) { } 我认为这是一个足够常见的场景来证明这一点,并且鉴于最近对语言的空条件添加,它在这里有意义吗?