フィールドオブジェクトのリストがあり、パラメータには(文字列)Nameと(int)Sizeのパラメータがあります。linqを使用するパラメータ内の最大値の2つのリストを比較します
また、Fieldオブジェクトのリストを含むFileオブジェクトのリストもあります。Fileオブジェクトのうちのいくつかは、Overarching Fieldオブジェクトに表示される場合があります。
すべてのFieldオブジェクトを調べ、すべての可能なFile-Fieldオブジェクトの最大値を見つける必要があります。
3を入れ子にするとできますか? forループが、私はlinqでこれが可能かどうかを見たいと思った。 FileObjectにクラス内
List<fieldobject> mainfields;
List<fileobject> files;
:ループの中
List<fieldobject> fields;
基本的な考え方は次のようになります。
foreach (fieldobject field in mainfields)
foreach (fileobject file in files)
foreach (fieldobject fileField in file.fields)
if (field.name == fileField.name)
field.size = math.max(field.size,fileField.size);
私はLINQを持つ場合と、割り当てを置き換えることができますが、私が期待していましたforループのほとんどまたはすべてを取り除く。どんな助けでも大歓迎です。
あなたのコードがコンパイルされませんが、最小の作業例を提供してください:https://stackoverflow.com/help/mcve – Isma
2番目のループからのファイルはどこにありますか?それは 'field.files'でしょうか? –
メインクラスがあります。 リスト mainfields リストファイル FileObjectにクラスがあります。 リストを 私が主目的に添付されているすべてのファイルをループしていて、直接接続されたフィールドに自分のフィールドを比較しますメインオブジェクトに移動します。コードはいくつかの{}が不足しているかもしれませんが、表示されるように動作するはずです –
KnightsOfTheRoun