2016-07-03 140 views
-1

我正在使用Queue(Of T)有沒有辦法從隊列中刪除一個項目?

我知道,先進先出。

這麼說的時候,我有時候想隨機抽出一些不一定在第一的T項。

我該怎麼做?

+0

請問這也許是回答你的問題:HTTP://計算器。 com/questions/531191/c-sharp-adding-a-removeint-index-method-to-the-net-queue-class – Aprilsnar

+0

看起來沒有簡單的方法。 –

+0

我不認爲它被設計成以這種方式工作,只有解決方法黑客。 – Aprilsnar

回答

1

沒有簡單的方法來做到這一點,恐怕。
您可以使用這樣的解決辦法,但它會傷害性能,我不知道它會保持這個順序正確:

Dim myQueue = New Queue(Of MyType)() 
' Populate queue here... 
Dim muList = myQueue.ToList() 
muList.RemoveAt(1) 
myQueue.Clear() 
muList.ForEach(Function(item) myQueue.Enqueue(item)) 
+0

爲了我的目的,我使用hashset和隊列。哈哈哈 –

+0

同樣的區別:-) –

相關問題