私はいくつかの操作を行うれているIDのセットを持っている:C#で拡張可能なキューのようなものはありますか?
Queue<string> queue = new Queue<string>();
queue.Enqueue("1");
queue.Enqueue("2");
...
queue.Enqueue("10");
foreach (string id in queue)
{
DoSomeWork(id);
}
static void DoSomeWork(string id)
{
// Do some work and oooo there are new ids which should also be processed :)
foreach(string newID in newIDs)
{
if(!queue.Contains(newID)) queue.Enqueue(newID);
}
}
もメインのforeachループBEI処理されるDoSomeWork()
にqueue
にいくつかの新しいアイテムを追加することが可能ですか?
どうでしょうHashSetのと、この作品? –
Makara
@Makara未処理アイテムを保持するためにキューを使用する例と、重複を避けるためにHashSetを追加した例を追加しました。 – CodesInChaos