c# – stack.ToList()在.NET中 – 元素的顺序?

前端之家收集整理的这篇文章主要介绍了c# – stack.ToList()在.NET中 – 元素的顺序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Stack< T>中使用.ToList()扩展方法时,结果与弹出每个元素相同,并添加到新列表(与推送的内容相反)?

如果是这样,这是因为它真的是在每个元素上迭代,或者它是否在内部存储元素,并将数组滑动到新的List T中?

解决方法

堆栈本身没有ToList方法,它是Enumerable类的扩展方法.由于这些扩展方法仅处理IEnumerable,所以可以安全地假设ToList迭代堆栈的项目以创建新的列表.

更新:我用反光板检查;堆< T>将其项目存储在索引为0的最底层元素的数组中,但其枚举器以相反的顺序迭代数组.因此,从迭代器出来的第一个元素是堆栈的顶部.

猜你在找的C#相关文章