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に格納されているすべての内容を参照することができます。