是否可以将List转换为Queue元素? 到目前为止,我使用下面的代码,但如果在c#
中有一个构建方法,则不需要添加额外的循环 queue1.Clear();
foreach (int val in list1) {queue1.Enqueue(val);}
任何解决方案?
答案 0 :(得分:8)
Queue<T>
有一个overload which takes an IEnumerable<T>
。请注意,无论如何它都会迭代它:
var queue = new Queue<string>(myStringList);
这就是内部的作用:
public Queue(IEnumerable<T> collection)
{
_array = new T[_DefaultCapacity];
_size = 0;
_version = 0;
using(IEnumerator<T> en = collection.GetEnumerator())
{
while(en.MoveNext()) {
Enqueue(en.Current);
}
}
}