2つのインメモリコレクションをLINQ-to-Objectsとマージする最も効率的な方法を見つけるのに役立つ必要があります。私の場合は、プロパティ値に基づいて特定のアイテムを除外する必要があるため、単純な結合または連結ではありません。2つのコレクションをLINQ-to-Objectsで条件付きでマージする
のは、(非常に現実的ではないが、それは私が必要なものを示して)次の例を使ってみましょう:
public abstract class Person
{
public String Name { get; set; }
}
public class Employee : Person
{
public DateTime? TerminationDate { get; set; }
}
public class Customer : Person
{
...
}
注、従業員もお客様のかもしれません。また、ではありません
- も従業員
- ないすべてのお客様のすべての従業員を:
私は従業員のリストと顧客のリストを持っており、これらの規則に従って、すべての人のリストを生成したいです顧客と終端されていません(TerminationDate == null)の
- 顧客と従業員の両方であるAND(TerminationDate == null)を終了していないすべての人
Whをこれを達成する最も効率的な方法は?
顧客は、とにかく従業員することはできません。 「**同じ名前の顧客**を従業員として除外する」という意味ですか? –
従業員と顧客の両方が同時に継承することができるのは明らかに、オブジェクトをモデル化する最も適切な方法ではないかもしれません。この場合、私は相続よりも組成が好きです。 –
はい、従業員も顧客である可能性があると言ったとき、私は現実世界ではなくオブジェクトを意味しました。混乱させて申し訳ありません。 – SonOfPirate