在 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);
我现在想通过传入像 eventItem2 这样的 EventItem 来查找列表中的事件。 我如何搜索并返回类似的项目 EventItem 找到 = eventItems.Select(eventItem2);
干杯,
S
I need to find a match of an item in a IQueryable list. I have a list as follows:
IQueryable<EventItem> eventItems = new Queryable<EventItem>();
EventItem eventItem1 = new EventItem("Event 1");
EventItem eventItem2 = new EventItem("Event 2");
eventItems.Add(eventItem1);
eventItems.Add(eventItem2);
I now want to find the event in the list by passing in an EventItem like eventItem2. How do I search and return item something like
EventItem found = eventItems.Select(eventItem2);
Cheers,
S
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 LINQ,您可以执行以下操作:
假设 EventItem 的名称通过 Name 属性公开。
item =>; [code]
部分是您提供返回 true/false 的方法的地方,以决定项目是否匹配。using LINQ you can do:
Assuming that the name for the EventItem is exposed via a Name property.
The
item => [code]
part is where you provide a method that returns true/false, to decide whether the items match or not.Linq 提供了 .Where 方法,可让您传入 lambda 表达式来计算您要查找的项目。
发现可能为空,所以你只需要检查它是否在可查询/列表中找到
Linq proviedes a .Where method that lets you pass in a lambda expression to evaluate the item you're looking for.
found could be null, so you just need to check for that to see whether it was found in the queryable/list