获取foreach循环中的最后一项

时间:2014-04-03 18:13:03

标签: c# loops foreach

问题很简单。如何获取foreach循环中的最后一项?现在我知道我可以找到它开始索引并计算集合中的项目,但我想知道是否有更优雅的方式?

foreach (var item in Collection)
{
}

3 个答案:

答案 0 :(得分:4)

foreach

,您不需要var lastItem = Collection.Last();
{{1}}

Enumerable.Last

  

Last(IEnumerable)方法会抛出异常   source不包含任何元素。而是在返回时返回默认值   源序列为空,使用MSDN- Enumerable.Last<TSource> Method (IEnumerable<TSource>)方法。

答案 1 :(得分:3)

只需使用Last

Collection.Last() - 这将返回列表中的最后一项。

答案 2 :(得分:2)

我会用Collection.Last()来做,但你可以这样做:

foreach (var item in Collection.Reverse())
    ... item is last on the first iteration

但真正的问题是你为什么要这样做。