37

私が使用するリストの使用

List<int> list = new List<int>();
list.AddRange(otherList);

キューを使用してこれを行う方法は?、このコレクションには AddRange メソッドがありません。

Queue<int> q = new Queue<int>();
q.AddRange(otherList); //does not exists
4

3 に答える 3

35
otherList.ForEach(o => q.Enqueue(o));

次の拡張メソッドを使用することもできます。

    public static void AddRange<T>(this Queue<T> queue, IEnumerable<T> enu) {
        foreach (T obj in enu)
            queue.Enqueue(obj);
    }

    Queue<int> q = new Queue<int>();
    q.AddRange(otherList); //Work!
于 2013-10-02T15:55:53.527 に答える
21

Queueを受け取るコンストラクタがありICollectionます。リストをキューに渡して、同じ要素で初期化できます。

var queue = new Queue<T>(list); 

あなたの場合、次のように使用します

Queue<int> ques = new Queue<int>(otherList);
于 2013-10-02T16:02:28.320 に答える
5

キュー リストを初期化できます。

Queue<int> q = new Queue<int>(otherList);
于 2013-10-02T15:59:08.123 に答える