3

だから私はこのコードを得ました:

ClassA { List<ClassB> classBList;}
ClassB { List<ClassC> classCList;}
ClassC { String ID;}

Dictionary<string,int> dict;
ClassA MyObject;

ディクショナリのキーは、ClassC の ID フィールドと一致する必要があります。linq で次のクエリを実行したい

List<String> matches = (from b in MyObject
                      from c in b.classCList
                      join d in dict
                      on c.ID equals dict.Key
                      select new
                      {
                          c.Value == 0 ? "YES" : "NO"
                      }).ToList();

しかし、私はエラーが発生しています:"Invalid anonymous type member ..."

肝心なのは... select new内に条件を設定するにはどうすればよいですか?

編集

拡張メソッドを使用してこのクエリを実行するにはどうすればよいですか?

何か助けはありますか?タイ

4

1 に答える 1

10

匿名型を選択しようとしていて、結果を に代入しようとしていList<string>ます。クエリは次のようになります。

List<String> matches = (from b in MyObject.classBList
                        from c in b.classCList
                        join d in dict
                        on c.ID equals d.Key
                        select d.Value == 0 ? "YES" : "NO").ToList();
于 2013-10-04T17:19:04.163 に答える