2009-06-26 14 views
2

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(eventItem2); 

ここで、eventItem2のようなEventItemを渡してイベントをリスト内で検索したいと考えています。 EventItem found = eventItems.Select(eventItem2);このようなアイテムを検索して返すにはどうすればよいですか?

乾杯、

S

答えて

2

LINQのは、あなたが探しているアイテムを評価するために、ラムダ式に渡すことができます.Where方法をproviedes。

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

あなたはそれがあなたが行うことができますLINQを使用して照会可能/リスト

+0

あなたはSingleOrDefaultを間違って入力しました。 –

+0

あなたはちょうど私がそれを固定する前に答えをキャッチしました;-) –

+0

あなたがそれを見るときにいつもシンプルな、ジョエル、ありがとうございました –

7

で発見されたかどうかを確認するためにそれをチェックする必要があるので、nullになる可能性が見つかりました:

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

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

item => [code]部分は、true/falseを返すメソッドを提供し、項目が一致するかどうかを判断します。

+0

これは受け入れられなかった、それは最初に、よりsuccint/ –

+0

乾杯!あなたが答えを見る限り、それはすべていいです。 –

関連する問題