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