2011-07-12 17 views
0

名前、ID、出席というプロパティを持つオブジェクトを格納するリストがあります。私は名前で検索してリスト内のすべてのオブジェクトのインデックス値を取得したいと考えています。これは簡単な部分です。名前による検索と並んで、インデックスの結果を、IDプロパティが無視するIDの除外リストにないオブジェクトだけにさらに絞り込む必要があります。例:リストの索引を検索する

Exclusion List: 
123 
456 
981 

Main List of Objects 
Object 1 with Name Property = Hi, ID = 123, Attendance = Present 
Object 2 with Name Property = Ho, ID = 323, Attendance = Present 
Object 3 with Name Property = He, ID = 456, Attendance = Present 

上記はデータ構造の単なる表現です。除外リストは整数リストなので、IDプロパティなどです。メインリストでの検索結果は、リスト内で見つかったオブジェクトの位置のINDEX整数を返します。この場合、戻り値の整数1.

おかげであなたが何かしたいよう

答えて

3

それが聞こえるようになります。すべて一致するインデックス値を与える

var query = list.Select((value, index) => new { value, index }) 
       .Where(pair => !exclusions.Contains(pair.value.ID)) 
       .Select(pair => pair.index) 

を。 FirstFirstOrDefaultなどを使用することができます。名前でも一致させるには、Whereコールを延長する必要があります。

これがあなたの望みでない場合は、質問を明確にしてください。

+0

彼は除外リストにない特定の名前のすべてのインデックスを望んでいると思います – Magnus

+0

@Magnus:明らかに、彼はすでに名前の部分を行う方法を知っています... –

+0

または彼は実装するのが簡単だと思っています。 – Magnus

関連する問題