Using LINQ to delete an element from a ObservableCollection Source
本问题已经有最佳答案,请猛点这里访问。
Actually, it is a closer duplicate of:
RemoveAll for ObservableCollections?
<罢工>
Possible Duplicate:
using LINQ to remove objects within a List
这是我正在使用的代码,但它不太可读。在仍然具有相同功能的情况下,我可以使用LINQ来缩短下面的代码吗?
1 2 3 4 5 6 7 8 9 10 11 12 13 | int index = 0; int pos = 0; foreach (var x in HomeViewModel.RecentPatients) { if (x.PID == p.PID) pos = index; else index++; } HomeViewModel.RecentPatients.RemoveAt(pos); |
为重复的关闭混乱道歉。这个问题和有标记的答案将使您获得从可观察集合中删除的扩展方法支持:
移除所有可观察的收藏?
它不支持
1 2 |
但是,带着支票
你可以试试这个。
1 2 3 | var toRemove = HomeViewModel.RecentPatients.Where(x=>x.PID == pid).ToList(); foreach (var item in toRemove) HomeViewModel.RecentPatients.Remove(item); |