对于每个-倒序

本文关键字:倒序 于每个 | 更新日期: 2023-09-27 18:03:57

我有一个List<Object>。我想遍历这个列表,但是我希望顺序是颠倒的,所以当我使用对象时,它会从最后一个到第一个开始。我该怎么做呢,最少的代码?

谢谢。

注:我使用c#, WinForms.

对于每个-倒序

使用扩展方法Enumerable<T>.Reverse。这将以相反的顺序遍历列表,并保持原始列表不变。

foreach(var item in list.AsEnumerable().Reverse())
{
}
然而,

Reverse遍历列表并在迭代开始时以相反的顺序缓存项。在90%的情况下,这是可以的,因为它仍然是一个O(n)操作,但是如果您想避免使用此缓存,只需使用普通的旧for

for(int i = list.Count - 1; i >= 0; i--) { }