StackはIEnumerable<T>を実装しているためforeach文による列挙ができます。 foreach文による列挙では、Pushした順とは逆、つまりPopするときと同じ順で要素が列挙されます。 ポップ操作とは異なり、Stackを列挙するだけでは要素の削除は行われません。
foreach文でStackの内容を列挙する
Imports System
Imports System.Collections.Generic
Class Sample
Shared Sub Main()
Dim s As New Stack(Of String)()
s.Push("Alice")
s.Push("Bob")
s.Push("Charlie")
' For EachでStackの内容を列挙
For Each e As String In s
Console.WriteLine(e)
Next
' 列挙してもStackから要素は削除されず、内容は変わらない
Console.WriteLine($"Count = {s.Count}")
End Sub
End Class
実行結果
Charlie Bob Alice Count = 3