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