Linq 在IList或IQueryable中搜索对象
我需要在IQueryable列表中找到一个匹配项。我的名单如下:Linq 在IList或IQueryable中搜索对象,linq,select,iqueryable,ilist,Linq,Select,Iqueryable,Ilist,我需要在IQueryable列表中找到一个匹配项。我的名单如下: IQueryable<EventItem> eventItems = new Queryable<EventItem>(); EventItem eventItem1 = new EventItem("Event 1"); EventItem eventItem2 = new EventItem("Event 2"); eventItems.Add(eventItem1); eventItems.Add(e
IQueryable<EventItem> eventItems = new Queryable<EventItem>();
EventItem eventItem1 = new EventItem("Event 1");
EventItem eventItem2 = new EventItem("Event 2");
eventItems.Add(eventItem1);
eventItems.Add(eventItem2);
IQueryable eventItems=new Queryable();
EventItem eventItem1=新的EventItem(“事件1”);
EventItem eventItem2=新的EventItem(“事件2”);
添加(eventItem1);
添加(eventItem2);
现在,我想通过传入类似eventItem2的EventItem来查找列表中的事件。如何搜索和返回类似的项目
EventItem found=eventItems.Select(eventItem2)
干杯
SLinq提供了一个.Where方法,该方法允许您传入lambda表达式以计算要查找的项
EventItem found = eventItems.Where(e => e == eventItem2).SingleOrDefault();
found可能为null,因此您只需检查它是否在可查询/列表中找到,使用LINQ您可以执行以下操作:
EventItem found = eventItems.SingleOrDefault(item => item.Name == "Event 2");
假设EventItem的名称通过name属性公开
item=>[code]
部分提供了一个返回true/false的方法,以确定项目是否匹配。在我修复之前,您刚刚捕获了答案;-)谢谢Joel,当你看到它时总是很简单这是不被接受的,它是第一个,更简洁/可读,更高效,第一次就拼写正确!干杯但只要人们看到答案,一切都好。