問題が発生しています
foreach(var category in categories)
{
foreach(var word in words)
{
var waitCallback = new WaitCallback(state =>
{
DoSomething(word, category);
});
ThreadPool.QueueUserWorkItem(waitCallback);
}
}
が実行されると、DoSomething
必要な値ではなく、キャプチャされた各変数の最新の値を受け取ります。私はこれに対する解決策を想像することができます、しかしそれはあなたたちがより良い解決策を思い付くことができると想像します