在IList或IQueryable中搜索对象

2 linq select ilist iqueryable

我需要在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);
Run Code Online (Sandbox Code Playgroud)

我现在想通过传入像eventItem2这样的EventItem来查找列表中的事件.如何搜索和返回类似EventItem found = eventItems.Select(eventItem2);

干杯,

小号

Nad*_*zie 7

使用LINQ你可以做到:

EventItem found = eventItems.SingleOrDefault(item => item.Name == "Event 2");
Run Code Online (Sandbox Code Playgroud)

假设EventItem的名称是通过Name属性公开的.

item => [code]部分是您提供返回true/false的方法的地方,以确定项是否匹配.