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