MyClassの2つのリストを1つにマージするエレガントで効率的な方法があるかどうか質問したいと思います。2つのリストをプロパティに基づいて1つに結合する
- ID:
int
- 名:
string
- ExtID:
int?
とリストは、リスト内の別のソースとオブジェクトから移入されているが何シェア
MyClassのは、このようになりますIDのように見えます:
私は基本的に必要なものLIST2ID = someInt (same as List1)
Name = someString (same as List1)
ExtID = someInt
から
そして、MyClassのインスタンスは、これら二つのリストを組み合わせることで、その結果は含むリストです:
ID = someInt (from List1)
Name = someString (from List1)
ExtID = someInt (null if no corresponding item - based on ID - on List2)
私は単純に使用してこれを行うことができます知っていますforeachループですが、よりエレガントで多分(パフォーマンス、可読性のために)好ましい方法があるかどうかを知りたいですか?
同じ 'ID'を持つ2つのインスタンスを1つに結合する' Merge'関数を書くと、リストを連結し、idでグループ化し、最後にマージ関数を使ってグループを折り畳み/縮小することができます。読書のためのlity - パフォーマンスのために、ソートとループでうまくいくでしょう。 – Carsten