在C#中,我使用了Queue集合.我可以很容易地入队或出队.好的,现在我想在队列中间或队列的开头插入一些东西.我没有找到任何方法来做这样的事情.你推荐什么作为替代收藏?
Pav*_*aev 27
根据定义,队列只能将事物排入队列并使其出列.如果你想插入中间,那么你想要一个完整的列表(可能LinkedList<T>),而不是一个Queue.
我的意思是,你不要试图在超市的队列中间"插入"自己(我希望); 它的工作方式与此相同.
Jes*_*ess 15
你要找的是一个LinkedList<T>.您可以添加到开头,中间(使用AddBefore或AddAfter)或列表的结尾.
这比使用a更有优势,List<T>因为您可以使用RemoveFirst或RemoveLast让它更模仿Queue或Stack.
虽然如果您发现自己处于无法使用队列以外的其他位置的情况下,此页面上的答案是正确的,您可以(稍加一些开销)将项目添加到队列中间.是否应该这样做是一个不同的故事.
var myQueue = new Queue<string>();
myQueue.Enqueue("item 0");
myQueue.Enqueue("item 10");
var myList = myQueue.ToList();
myList.Insert(1, "item 5");
myQueue = new Queue<string>(myList);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18409 次 |
| 最近记录: |