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

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

class Sample {
  static void Main()
  {
    var q = new Queue<string>();

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

    // foreachでQueueの内容を列挙
    foreach (var e in q) {
      Console.WriteLine(e);
    }

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