我需要使用该Reverse
方法反转堆栈的顺序。
但是我已经尝试过了,但它不起作用:
Dim StackObject As New Stack(Of String)
StackObject.Push("S")
StackObject.Push("T")
StackObject.Push("A")
StackObject.Push("C")
StackObject.Push("K")
StackObject = StackObject.Reverse.Cast(Of String)() ' <-- InvalidCastException
For Each str As String In StackObject
MsgBox(str)
Next
我编写了这个通用函数来反转堆栈,但我想使用该Reverse
方法而不是所有这些不必要的代码来做到这一点:
Private Function Reverse_Stack(Of T)(stack As Stack(Of T))
Dim new_stack As New Stack(Of T)
While Not stack.Count = 0
new_stack.Push(stack.Pop)
End While
Return new_stack
End Function