c# - 堆栈集合在 C# 2.0 中缺少 shift 和 unshift

标签 c# collections .net-2.0

奇怪的是,堆栈集合似乎缺少相当基本的 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/

相关文章:

c# - 具有大字体的多行复选框的左上框对齐

c# - 列表的列表闻起来不好吗,我还有其他选择吗

c# - 线性代数库

c# - 为什么不能将结构声明为 const?

c# - PHP MD5与C#MD5不匹配

c# - 遍历事件日志条目集合,IndexOutOfBoundsException

.net - 这是什么控制?带下拉菜单的("Open"按钮)

c# - 我如何实现 IEnumerable<T>

java - 检查一个 ArrayList 的元素是否存在于另一个

javascript - map 集合javascript中 undefined object