我偶然发现了一个烦人的问题。我有一个计时器,每 250 毫秒(列表中的 1-5 个对象)foreach 一个列表(泛型)。如果它“符合”标准,它应该将该对象添加到“忽略列表”中。但问题是有时它不会将对象添加到忽略列表中,因此让它通过(即使它应该在 250 毫秒前添加它)。
所以我的问题是,确保循环冻结直到对象被添加到列表(现在一切都在主线程上运行)的最佳方法是什么?
// 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
}
}
谢谢 :)