奇怪的是,堆栈集合似乎缺少相当基本的 shift 和 unshift 方法*,我在 2.0 中工作,所以我不能只扩展它们。
是否有任何合理的技术或替代集合类来使这些方法可用?我也需要 push 和 pop。
编辑:看起来我想要的集合确实是一个 deque很高兴这不是 C# 原生的:(
此时不能使用第三方库,所以我将使用笨重的 LinkedList(我说笨重是因为读取和删除是两个操作,而 shift 是一个操作)但我认为我会推荐 PowerCollections 方法给任何可以使用它的人。或者更好的是,升级到扩展方法。
感叹
* 抱歉,我没有意识到这些是不常见的术语,我以为我只是不知道在 API 中的哪里可以找到它们。供引用:
shift = 移除第一个元素
unshift = 在集合的开头插入元素
最佳答案
我会说使用 LinkedList<T>
.它有从前面添加和删除的方法,以及从后面添加和删除的方法。我从未听说过移动和取消移动,但我假设这就是它的意思。
关于c# - 堆栈集合在 C# 2.0 中缺少 shift 和 unshift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/848082/