我遇到了一个问题。
当执行
foreach(var category in categories)
{
foreach(var word in words)
{
var waitCallback = new WaitCallback(state =>
{
DoSomething(word, category);
});
ThreadPool.QueueUserWorkItem(waitCallback);
}
}
当执行
DoSomething
时,它接收到每个捕获变量的最新值,而不是我想要的值。我可以想象出一种解决方案,但我相信你们可以提出更好的解决方案。