【发布时间】:2018-10-11 18:46:18
【问题描述】:
枚举时Stack<T> 是否有定义的顺序?是否保证先取底部(第一个插入)或顶部(最后插入)? documentation for GetEnumerator 和 Stack<T>.Enumerator 都没有明确指定,除了它在“第一个元素”之前开始,这在 Stack<T> 的情况下有点模棱两可。
【问题讨论】:
-
这取决于,如果文档实际上是 记录 顺序,那么这里的示例 - docs.microsoft.com/nb-no/dotnet/api/… - 显示顺序是从上到下(即最后推送先推)。
-
@LasseVågsætherKarlsen 是的,例子可能具有欺骗性。
-
在逻辑上没有为堆栈或队列定义枚举,因此没有定义枚举的顺序。图书馆甚至允许您“看到”堆栈中“下一个”或“顶部”项目之外的事实,这对我来说很奇怪。