Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 在IList或IQueryable中搜索对象_Linq_Select_Iqueryable_Ilist - Fatal编程技术网

Linq 在IList或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列表中找到一个匹配项。我的名单如下:

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)

干杯


S

Linq提供了一个.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,当你看到它时总是很简单这是不被接受的,它是第一个,更简洁/可读,更高效,第一次就拼写正确!干杯但只要人们看到答案,一切都好。