我需要幫助找到最有效的方式來合併兩個內存集合與LINQ到對象。在我的情況下,它不是簡單的連接或concat,因爲某些項目需要根據屬性值排除。有條件地合併兩個集合與LINQ到對象
讓我們用下面的例子(不是很現實,但它說明了什麼,我需要):
public abstract class Person
{
public String Name { get; set; }
}
public class Employee : Person
{
public DateTime? TerminationDate { get; set; }
}
public class Customer : Person
{
...
}
注意,員工也可以是客戶。
我公司員工的名單和客戶的列表,並希望生成以下規則的所有人員的名單:
- 中未出現員工
- 所有員工是不是也所有客戶客戶並沒有終止(TerminationDate == NULL)
- 所有的人是客戶和員工,而不是終止(TerminationDate == NULL)
瓦以最有效的方式來完成這一點?
一位顧客不能是僱員,無論如何,因爲它們是不同的類。你的意思是「排除任何**與僱員同名**的顧客」嗎? – 2012-02-02 15:59:41
由於人員顯然可以既是員工又是客戶,同時繼承可能不是建模對象最合適的方式。在這種情況下,我希望組合優於繼承。 – 2012-02-02 15:59:49
是的,當我說僱員也可能是客戶時,我的意思是在現實世界中而不是客體。對困惑感到抱歉。 – SonOfPirate 2012-02-02 16:52:00