在 IList 或 IQueryable 中搜索对象

发布于 2024-07-25 18:08:57 字数 446 浏览 4 评论 0原文

我需要在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

非要怀念 2024-08-01 18:08:57

使用 LINQ,您可以执行以下操作:

EventItem found = eventItems.SingleOrDefault(item => item.Name == "Event 2");

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

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

using LINQ you can do:

EventItem found = eventItems.SingleOrDefault(item => item.Name == "Event 2");

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.

累赘 2024-08-01 18:08:57

Linq 提供了 .Where 方法,可让您传入 lambda 表达式来计算您要查找的项目。

EventItem found = eventItems.Where(e => e == eventItem2).SingleOrDefault();

发现可能为空,所以你只需要检查它是否在可查询/列表中找到

Linq proviedes a .Where method that lets you pass in a lambda expression to evaluate the item you're looking for.

EventItem found = eventItems.Where(e => e == eventItem2).SingleOrDefault();

found could be null, so you just need to check for that to see whether it was found in the queryable/list

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文