克隆堆栈时我遇到了这个问题......不确定它是.NET错误还是预期的行为.意见?
Dim myStack As New Stack(Of Integer)({2,1,3})
Response.Write(String.Join(",",myStack.Clone) & "<br>" & String.Join(",",myStack.Clone.Clone))
Run Code Online (Sandbox Code Playgroud)
输出:
2,1,3
3,1,2 <- I expected 2,1,3
Run Code Online (Sandbox Code Playgroud)
这不是.Net Bug.该Stack(Of T)类型没有Clone方法或属性.以下代码演示了这一点,该代码无法在标准VB.Net控制台项目上编译
Dim stack As New Stack(Of Integer)({2, 1, 3})
Console.WriteLine(String.Join(",", stack.Clone))
Run Code Online (Sandbox Code Playgroud)
Clone绑定的方法必须是项目中某处定义的扩展方法.错误或设计行为就在那里.