我在List上有foreach循环,如:
foreach( var e in myList){
//do something here but except element at myList[0]
}
现在我需要在第一个索引处省略元素的循环。我怎样才能做到这一点?
答案 0 :(得分:12)
这样的东西?
foreach(var e in myList.Skip(1)){
}
答案 1 :(得分:3)
如果您需要使用for
跳过任意索引处的元素会更合适:
for(var index = 0; index < myList.Count; index++){
if (ShouldSkip(index))
continue;
// handle other elements as normal
}
如果您需要先跳过 - 请使用。{Clip}(1),如https://stackoverflow.com/a/27884993/477420
所示如果您想将foreach
与任意索引一起使用,可以使用.Where
进行过滤:
foreach(var e in myList.Where((item, index) => index < 3 || index > 7))
{
...
}
答案 2 :(得分:1)
您也可以尝试使用它:
foreach(var item in itemsList.Except(itemsToOmitList)){}
使用上述方法的好处是,无论索引如何,您都可以省略多个项目。