QueueはIEnumerable<T>を実装しているためforeach文による列挙ができるようになっています。 foreach文による列挙では、Enqueueした順と同じ順、つまりDequeueする順と同じ順で要素が列挙されます。 デキュー操作とは異なり、Queueを列挙するだけでは要素の削除は行われません。

foreachでQueueの内容を列挙する
Imports System
Imports System.Collections.Generic

Class Sample
  Shared Sub Main()
    Dim q As New Queue(Of String)()

    q.Enqueue("Alice")
    q.Enqueue("Bob")
    q.Enqueue("Charlie")

    ' For EachでQueueの内容を列挙
    For Each e As String In q
      Console.WriteLine(e)
    Next

    ' 列挙してもQueueから要素は削除されず、内容は変わらない
    Console.WriteLine($"Count = {q.Count}")
  End Sub
End Class
実行結果
Alice
Bob
Charlie
Count = 3

MENTAにてテキストチャットによるサポートを行っています。 問題の解決法をお探しの方や.NET/C#を学習中の方はどうぞご利用ください。