使用Linq条件循环列表

时间:2014-04-02 21:30:04

标签: c# linq list

下面的代码可以成功地遍历List。如何添加where子句,使其仅用于sType ="文件"

的列表项
for (int i = 0; i < MyGlobals.ListOfItemsToControl.Count; i++) // Loop through List with for

我想要的伪代码

for (int i = 0; i < MyGlobals.ListOfItemsToControl.Count.Where(y => y.sType == "File"); i++) // Loop through List with for

2 个答案:

答案 0 :(得分:5)

使用LINQ获取一个新的过滤列表,该列表仅包含符合您条件的项目:

var filteredList = MyGlobals.ListOfItemsToControl.Where(i => i.sType == "File").ToList();
for (var i = 0; i < filteredList.Count; i++) // Loop through List with for
...

答案 1 :(得分:3)

除了sjkm的答案,如果你没有使用索引,只需使用foreach循环。

foreach(var item in MyGlobals.ListOfItemsToControl.Where(i => i.sType == "File"))
{
  // Do something with item.
}