克隆堆栈时我遇到了这个问题...不确定它是.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
答案 0 :(得分:8)
这不是.Net Bug。 Stack(Of T)
类型不具有Clone
方法或属性。以下代码演示了这一点,该代码无法在标准VB.Net控制台项目上编译
Dim stack As New Stack(Of Integer)({2, 1, 3})
Console.WriteLine(String.Join(",", stack.Clone))
绑定的Clone
方法必须是项目中某处定义的扩展方法。错误或设计行为就在那里。