Как перечислить список элементов на С#?
Используя списки, я использую
List<int> list = new List<int>();
list.AddRange(otherList);
Как это сделать с помощью очереди?, эта коллекция не имеет метода AddRange.
Queue<int> q = new Queue<int>();
q.AddRange(otherList); //does not exists
Ответы
Ответ 1
Queue
имеет конструктор, который принимает ICollection
. Вы можете передать свой список в очередь, чтобы инициализировать его теми же элементами:
var queue = new Queue<T>(list);
в вашем случае используйте следующим образом
Queue<int> ques = new Queue<int>(otherList);
Ответ 2
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!
Ответ 3
Вы можете инициализировать список очередей:
Queue<int> q = new Queue<int>(otherList);