Queueから配列へ変換する場合にはToArrayメソッドCopyToメソッドが使えます。 ToArrayメソッドではQueueの内容を配列に変換したものが得られ、CopyToメソッドではQueueの内容を既存の配列にコピーします。 変換・コピーした後の配列の内容は、列挙操作を行った場合と同様にQueueの内容を一つずつDequeueした場合と同じ順序になります。 当然、変換・コピーの前後でQueueの内容は変化しません。

ToArrayメソッドでQueueを配列に変換する・CopyToメソッドで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");

    // 配列に変換
    Console.WriteLine("[ToArray]");

    var arr1 = q.ToArray();

    for (var i = 0; i < arr1.Length; i++) {
      Console.WriteLine("arr1[{0}] => {1}", i, arr1[i]);
    }

    // 配列にコピー
    Console.WriteLine("[CopyTo]");

    var arr2 = new string[q.Count];

    q.CopyTo(arr2, 0);

    for (var i = 0; i < arr2.Length; i++) {
      Console.WriteLine("arr2[{0}] => {1}", i, arr2[i]);
    }
  }
}
実行結果
[ToArray]
arr1(0) => Alice
arr1(1) => Bob
arr1(2) => Charlie
[CopyTo]
arr2(0) => Alice
arr2(1) => Bob
arr2(2) => Charlie