除了某些索引处的元素外,如何在列表上使用 foreach 循环?
How to use foreach loop on list except elements at some index?
我在 List 上有 foreach 循环,例如:
foreach( var e in myList){
//do something here but except element at myList[0]
}
现在我需要省略第一个索引处元素的循环。我怎样才能做到这一点?
是这样的吗?
foreach(var e in myList.Skip(1)){
}
如果您需要跳过任意索引处的元素,使用 for
会更合适:
for(var index = 0; index < myList.Count; index++){
if (ShouldSkip(index))
continue;
// handle other elements as normal
}
如果您需要先跳过 - 使用 .Skip(1),如
所示
如果您想将 foreach
与任意索引一起使用,您可以使用 .Where
:
进行过滤
foreach(var e in myList.Where((item, index) => index < 3 || index > 7))
{
...
}
你也可以尝试使用这个:
foreach(var item in itemsList.Except(itemsToOmitList)){}
使用上述方法的好处是您可以忽略多个项目,而不管它们的索引如何。
我在 List 上有 foreach 循环,例如:
foreach( var e in myList){
//do something here but except element at myList[0]
}
现在我需要省略第一个索引处元素的循环。我怎样才能做到这一点?
是这样的吗?
foreach(var e in myList.Skip(1)){
}
如果您需要跳过任意索引处的元素,使用 for
会更合适:
for(var index = 0; index < myList.Count; index++){
if (ShouldSkip(index))
continue;
// handle other elements as normal
}
如果您需要先跳过 - 使用 .Skip(1),如
如果您想将 foreach
与任意索引一起使用,您可以使用 .Where
:
foreach(var e in myList.Where((item, index) => index < 3 || index > 7))
{
...
}
你也可以尝试使用这个:
foreach(var item in itemsList.Except(itemsToOmitList)){}
使用上述方法的好处是您可以忽略多个项目,而不管它们的索引如何。