我偶然發現了一個惱人的問題。我有一個計時器,每250ms(列表中的1-5個對象)對一個列表(泛型)進行foreach。如果它「符合」標準,它應該將該對象添加到「忽略列表」中。但問題是,有時它不會將對象添加到忽略列表中,因此讓它通過(即使它在250毫秒前應該添加它)。C#等到對象被插入到列表中(凍結應用程序)
所以我的問題是,什麼最好的方法來確保循環凍結,直到對象已被添加到列表中(現在一切都在主線程上運行)?
// this method is called every 250ms
void check()
{
foreach (GetAll g in GetAllInList)
{
InIgnoreList(g);
}
}
// InIgnoreList(g)
void InIgnoreList(g)
{
foreach(var b in g.List())
{
if(IgnoreList.Exists(x => x.Name == g.Name))
break;
// New method where I add it, but sometimes the IgnoreList.Exists Check lets it
through
}
}
謝謝:)
什麼是'x'?你用'b'做什麼? –