DequeueメソッドはQueueの先頭にある要素を取り出して取得しますが、Peekメソッドを使うとQueueの内容を変更せず(Queueから削除せず)に先頭にある要素を参照できます。
Peekを使ってQueueの内容を変更せずに先頭の内容を参照する
Imports System
Imports System.Collections.Generic
Class Sample
Shared Sub Main()
Dim q As New Queue(Of String)()
' Queueに要素をEnqueue
q.Enqueue("Alice")
q.Enqueue("Bob")
q.Enqueue("Charlie")
' Queueの内容を変更せずに先頭にある要素を参照する
Console.WriteLine(q.Peek())
' PeekメソッドはQueueから要素を取り出さずに参照するので、要素数は変わらない
Console.WriteLine($"Count = {q.Count}")
End Sub
End Class
実行結果
Alice Count = 3
foreachなどによる列挙操作では、Queueの状態を変更せずにQueueに格納されているすべての内容を参照することができます。