将列表转换为队列 c#

本文关键字:队列 转换 列表 | 更新日期: 2024-11-03 17:34:07

是否可以将列表转换为队列元素?到目前为止,我使用了下面的代码,但如果 c# 中有构建方法,则不需要添加额外的循环

queue1.Clear();
foreach (int val in list1)
{
     queue1.Enqueue(val);
}

有什么解决办法吗?

将列表转换为队列 c#

Queue<T> 有一个重载,需要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);
        }
    }            
}