2013-10-02 34 views

Odpowiedz

8

Queue ma konstruktora, że ​​trwa w ICollection. Możesz przekazać swoją listę do kolejki, aby zainicjować go z tych samych elementów:

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

w przypadku korzystania następująco

Queue<int> ques = new Queue<int>(otherList); 
18
otherList.Foreach(o => q.Enqueue(o)); 

Można również użyć tej metody rozszerzenia:

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! 
+11

można użyć 'otherList.Foreach (q.Enqueue)' bez boksu do innego wyrażenia lambda – Adassko

5

można zainicjować listy kolejki:

Queue<int> q = new Queue<int>(otherList); 
Powiązane problemy