こんなの誰得か分かりませんが、ちょっと悩んでしまったのでメモ。
しかもパフォーマンスはよろしくなさそうです。
var queue = new Queue<hoge>();
//事前処理でQueueには何か入ってる
var hoge1 = new hoge();
hoge1.fuga = fugafuga();
queue.Enqueue(hoge1);
//まとめて突っ込みたいコレクションが出来てしまった。
hoge[] array = hogehoge();
//forでなくQueueに1行で突っ込む
//重複を除きたいならUnion 今回のケースでは冗長だった・・・。
//queue = new Queue<hoge>(queue.ToArray().Union(array));
//重複を許容するならConcat↓
queue = new Queue<hoge>(queue.ToArray().Concat(array));
QueueやStackは今やほとんど使い道がなくなってしまったように感じます。
LINQのおかげもあるんでしょうか。
昔ながらのASCIIメッセージ通信をバッファっぽく使ってやりたかったのでQueueが適してるかと思ったんですが、まとまって突っ込みたいタイミングが出てきてしまい、なんとなくforeachを避けてみようと思ったらこんなことに・・・。
ListにDequeueっぽい機能を拡張した方が幸せなのかな、と言う気がしますね。
(2018/10/02 追記)
Queueにまとめて突っ込みたい場合はコメント頂いた拡張メソッドの適用を検討してください。