2

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 found = eventItems.Select(eventItem2);のようなアイテムを検索して返すにはどうすればよいですか。

乾杯、

S

4

2 に答える 2

7

LINQを使用すると、次のことができます。

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

EventItemの名前がNameプロパティを介して公開されていると仮定します。

このitem => [code]部分は、アイテムが一致するかどうかを判断するために、true/falseを返すメソッドを提供する場所です。

于 2009-06-26T17:53:57.423 に答える
2

Linqは、ラムダ式を渡して探しているアイテムを評価できる.Whereメソッドを提供します。

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

foundはnullである可能性があるため、クエリ可能/リストで見つかったかどうかを確認する必要があります。

于 2009-06-26T17:53:38.500 に答える