除了某些索引处的元素外,如何在列表上使用 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)){}

使用上述方法的好处是您可以忽略多个项目,而不管它们的索引如何。