【发布时间】:2013-11-20 22:22:49
【问题描述】:
我想创建一个跳过第一项的foreach。我在其他地方看到过,最简单的方法是使用myCollection.Skip(1),但我有一个问题:
.Skip() 上的 MSDN 文档描述它“绕过序列中指定数量的元素,然后返回剩余的元素”。这是否意味着调用
foreach(object i in myCollection.Skip(1))
{ ... }
程序是否必须在每次foreach 迭代时执行.Skip(1)?还是foreach(有点像switch)不需要对数组进行多次评估?
创建一个虚拟的var _dummy = myCollection.Skip(1) 并对其进行迭代会更有效吗?
【问题讨论】:
-
Skip返回一个 Enumerable。这是用于生成枚举器的内容。 foreach 使用枚举器从枚举器中的每个可枚举对象中获取类型对象。 -
我在这里可能有点离谱,但似乎一个简单的解决方案(而不是使用
Skip)是使用标准的for循环并让索引从1开始? -
@MirroredFate 是的,那行得通。然而,
foreach的部分意义在于它提高了可读性,这正是我所希望的。