检查一个项是否存在于observable集合中
本文关键字:存在 observable 集合 是否 一个 检查 | 更新日期: 2023-09-27 17:49:00
我有一个动态填充的可观察集合。我通过一个名为events
的项目列表填充它。在某些情况下,事件可以从事件列表中删除,当这种情况发生时,我也需要从可观察集合中删除它。
我正在寻找的是一个简单而快速的方法来做到这一点。我尝试了以下操作:
bool exist = events.Where(x => x.Home == obCollection[x].Home).Any();
但是我不能通过x
元素访问obCollection
,因为我需要一个索引,而x
是实际的项。我需要修复这个问题以生成正确的元素,然后我需要删除可观察集合中剩余的元素。
对不起,第一个答案是相反的。
所以你需要从ObservableCollection
中删除自动从events
列表中删除的内容:
var notFoundInEvents = obCollection.Where(x => !(events.Any(o => o.Home == x.Home))).ToList();
foreach (var toBeRemoved in notFoundInEvents)
{
obCollection.Remove(toBeRemoved);
}