c#哪种物体可以阻止foreach循环循环



我知道我可以在if语句中包装整个foreach循环,但是我想知道是否有一些 new List<string>()的对象值替换,以便在myList为null时执行的foreach跳过?在JavaScript中,我可以简单地将[]放置在凝聚后,以指代将阻止foreach循环的空套件。

List<string> myList = null;
foreach (var i in myList ?? new List<string>() )
    i.Dump();

不需要更改答案的不必要的背景信息: List<Entity>()是我的实际列表,来自ASP.NET MVC数据绑定,因此我不控制创建它。我将实体框架数据库模型(POCO)用作控制器方法的输入,就像您使用控制函数一样,将函数的参数设置为将数据汇入表。POCO来自数据库,所以我也不控制。

只是寻找某种空的对象,我可以用来避免在不创建新对象的情况下运行循环。

我真的认为当MyList为Null时,引发例外是C#缺陷。如果是无效的,则无关紧要,因此循环应该跳过。

使用Enumerable.Empty<string>()

参见 c#对于任何返回空派生类型 linq方法的 c#emptyifnull扩展,以将nulls转换为空的iEnumerable&lt; t&gt;?需要经常进行此检查。

相关内容

  • 没有找到相关文章

最新更新