私は厄介な問題に出くわしました。250ミリ秒ごとにリスト(ジェネリック)をforeachするタイマーがあります(リスト内の1〜5個のオブジェクト)。基準を「満たしている」場合は、そのオブジェクトを「無視リスト」に追加する必要があります。しかし、問題は、オブジェクトを無視リストに追加せず、通過させてしまうことがあることです (たとえ 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
}
}
ありがとう :)