■事前情報
クラスA
クラスB
クラスC
があるとします。
クラスAはList<クラスB>をプロパティで持ちます。
クラスBはList<クラスC>をプロパティで持ちます。
つまり、クラスAとクラスBは1:n、クラスBとクラスCも1:nという関係になり、ツリー構造で構成されています。
■本題
とあるクラスCの1要素が判明している状態で、それが含まれるクラスBを特定する内容のLINQを検討していました。
for文では思いつくのですが、LINQでなかなか取得できません。
C#
1for(int b=0;b<クラスB.Count;b++;){ 2 for(int c=0;c<クラスC.Count;c++;){ 3 if(クラスA.クラスB[b].クラスC[c] == 判明しているクラスC){ 4 クラスB B=クラスA.クラスB[b]; 5 }; 6 }; 7};
直接オブジェクトを取得するやり方と、indexを取得して参照するやり方とあるかと思いますが、ご助力をお願いできないでしょうか。
2019/03/15追記
クラスB群、クラスC群は全て異なる要素になっています。
つまり、特定のクラスC要素であれば、特定のクラスBが導出可能です。
上記情報が漏れておりました。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/14 20:34