下面是我的堆栈类型变量:
var records = Stack<Records>();
假设记录包含如下数据:
3
2
1
5
8
现在我想循环使用上面的变量,但顺序如下:
foreach (var item in records)
{
// item should have 8 then 5 then 1......
}
注意:我不想创建将其转换为IEnumerable
或List
然后反向循环的开销。
答案 0 :(得分:4)
您可以使用Reverse()
:
foreach (var item in records.Reverse()) {
...
OP的其他信息:
Stack实现为数组。
当您需要临时存储时,堆栈和队列非常有用 信息;也就是说,当你想要丢弃一个元素之后 检索它的价值。如果您需要访问,请使用队列 信息的顺序与存储在集合中的顺序相同。使用 System.Collections.Generic.Stack如果你需要访问 反向信息。