【发布时间】:2013-12-26 23:38:21
【问题描述】:
在 C# 中,有没有一种方法可以将一个堆栈推入另一个堆栈,而无需遍历堆栈元素?如果没有,我应该使用更好的数据结构吗?在 Java 中你可以这样做:
stack1.addAll(stack2)
我希望找到 C# 类比...
【问题讨论】:
-
也许有点迟钝,但转换为
ArrayList,然后使用msdn.microsoft.com/en-us/library/…,然后再转换回Stack? -
可以将每个堆栈复制到数组,然后使用 Array.Copy 合并数组,然后将数组加载到 ctor 中的新堆栈,但我想我会循环。
-
哇,这是一个相当大的提示@rdodev,似乎 List
也有接近我所追求的 InsertRange() 方法,还有 AddRange() 这正是我在找什么。如果 AddRange 按我的预期工作,我会给你答案... -
@ryan0 好,让我知道这是否适合您。