C# 带Linq条件的循环列表

C# 带Linq条件的循环列表,c#,linq,list,C#,Linq,List,下面的代码成功地在列表中循环。如何添加where子句,使其仅适用于列表项where sType=“File” for(int i=0;ii.sType==“File”).ToList(); for(var i=0;i

下面的代码成功地在列表中循环。如何添加where子句,使其仅适用于列表项where sType=“File”

for(int i=0;i
我想要的伪代码

for (int i = 0; i < MyGlobals.ListOfItemsToControl.Count.Where(y => y.sType == "File"); i++) // Loop through List with for
for(int i=0;iy.sType==“File”);i++//使用for遍历列表

使用LINQ获取新的筛选列表,该列表仅包含符合您条件的项目:

var filteredList = MyGlobals.ListOfItemsToControl.Where(i => i.sType == "File").ToList();
for (var i = 0; i < filteredList.Count; i++) // Loop through List with for
...
var filteredList=MyGlobals.ListOfItemsToControl.Where(i=>i.sType==“File”).ToList();
for(var i=0;i
除了sjkm的答案之外,如果不使用索引,只需使用foreach循环即可

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

有没有理由不去讨论?
foreach(var item in MyGlobals.ListOfItemsToControl.Where(i => i.sType == "File"))
{
  // Do something with item.
}