wpf ObservableCollection如何通过类里的某个属性匹配找出对应的 item
时间: 2023-07-16 15:17:04 浏览: 143
事件通知与依赖属性对比实例.zip
你可以使用 LINQ 查询语句来实现这个功能。假设你有一个 ObservableCollection
对象,其中包含许多 Person
对象,每个 Person
对象都有一个 Id
属性,你想要根据 Id
属性查找特定的 Person
对象。 你可以使用以下代码来实现:
int targetId = 123; // 目标 Id
Person targetPerson = myObservableCollection.FirstOrDefault(p => p.Id == targetId);
在这个例子中,FirstOrDefault
方法将返回符合指定条件的第一个 Person
对象,如果没有找到符合条件的对象,则返回 null
。在 lambda 表达式中,我们使用 p => p.Id == targetId
来指定条件,其中 p
表示集合中的每个 Person
对象,p.Id
表示当前 Person
对象的 Id
属性,targetId
是我们要查找的目标 Id
。
如果你希望返回所有符合条件的 Person
对象,而不仅仅是第一个,你可以使用 Where
方法来代替 FirstOrDefault
方法。例如:
IEnumerable<Person> matchingPeople = myObservableCollection.Where(p => p.Id == targetId);
在这个例子中,Where
方法将返回一个包含所有符合条件的 Person
对象的序列。