我需要在IQueryable列表中找到项目的匹配项。我有一个如下列表:
IQueryable<EventItem> eventItems = new Queryable<EventItem>();
EventItem eventItem1 = new EventItem("Event 1");
EventItem eventItem2 = new EventItem("Event 2");
eventItems.Add(eventItem1);
eventItems.Add(eventItem2);
我现在想通过传入eventItem这样的eventItem来查找列表中的事件。如何搜索和返回类似的项目 EventItem found = eventItems.Select(eventItem2);
干杯,
取值
答案 0 :(得分:7)
使用LINQ你可以做到:
EventItem found = eventItems.SingleOrDefault(item => item.Name == "Event 2");
假设EventItem的名称是通过Name属性公开的。
item => [code]
部分是您提供返回true / false的方法,以确定项目是否匹配。
答案 1 :(得分:2)
Linq提供了一个。允许你传入lambda表达式来评估你正在寻找的项目的方法。
EventItem found = eventItems.Where(e => e == eventItem2).SingleOrDefault();
发现可能为null,因此您只需要检查它是否在查询/列表中找到它