有没有办法从队列中删除项目?

时间:2016-07-03 07:03:55

标签: vb.net

我正在使用Queue(Of T)

我知道,先进先出。

在这样说的时候,我有时想要随机取出一些T项,而不一定是第一项。

我该怎么做?

1 个答案:

答案 0 :(得分: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))