【发布时间】:2011-10-22 17:59:25
【问题描述】:
我在克隆堆栈时遇到了这个问题...不确定这是 .NET 错误还是预期的行为。意见?
Dim myStack As New Stack(Of Integer)({2,1,3})
Response.Write(String.Join(",",myStack.Clone) & "<br>" & String.Join(",",myStack.Clone.Clone))
输出:
2,1,3
3,1,2 <- I expected 2,1,3
【问题讨论】:
-
我的看法是这不是.net的错误。
-
您的代码甚至无法为我编译。你在使用一些有趣的扩展方法吗?你能发布一个简短但完整的控制台应用程序来演示这一点吗?
-
您确定您没有使用非通用堆栈 (msdn.microsoft.com/en-us/library/system.collections.stack.aspx)?通用堆栈没有克隆方法。
-
@alun:即便如此,看起来他在这里使用了一个属性,而非泛型
Clone()是一个方法。 -
你说得对,乔恩......我在我的扩展中添加了 .Clone 到 Stack(Of T) ......我忘记了并认为 .Clone 是 Stack(Of T) 的原生 - 谢谢!