显示从列表中删除的值
本文关键字:删除 列表 显示 | 更新日期: 2023-09-27 17:53:59
您好,我目前正在从列表中删除元素:
candidateList.RemoveAll(x => versionslist.Any(y => y.Name == x.Name && y.Parent.Name == x.Parent.Name));
我想看看什么是实际被删除,所以我可以比较它与versionList后,看看为什么不是所有的值被删除。我知道这是因为版本列表是canadidateList的子列表,在删除所有数学不加起来。
没有内置的方法来查看从列表中删除了哪些项。
如果您需要它进行调试-一个简单的方法是在调用.RemoveAll
之前使用具有相同条件的.Where(...).ToList()
并检查结果。
如果您在运行时需要这些信息,请考虑使用ObservableCollection<T>
而不是常规列表,并听取"已删除"通知。
在你RemoveAll之前:
var removedList = candidateList.Where(x => versionslist.Any(y => y.Name == x.Name && y.Parent.Name == x.Parent.Name));
现在您有了要删除的内容列表,然后执行remove all:
candidateList.RemoveAll(x => versionslist.Any(y => y.Name == x.Name && y.Parent.Name == x.Parent.Name));