相关疑难解决方法(0)

LINQ + Foreach vs Foreach + If

我需要迭代一个对象列表,只为布尔属性设置为true的对象做一些事情.我正在讨论这段代码

foreach (RouteParameter parameter in parameters.Where(p => p.Condition))
{ //do something }
Run Code Online (Sandbox Code Playgroud)

和这段代码

foreach (RouteParameter parameter in parameters)
{ 
  if !parameter.Condition
    continue;
  //do something
}
Run Code Online (Sandbox Code Playgroud)

第一个代码显然更干净,但我怀疑它会在列表上循环两次 - 一次用于查询,一次用于foreach.这会不会是一个巨大的名单,所以我不是太在意性能,但两次循环刚的想法的错误我.

问题:如果没有循环两次,是否有一种干净/漂亮的方式来编写它?

c# linq foreach

57
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×1

foreach ×1

linq ×1