public class Person()
{
int ID;
string Name;
DateTime ChangeDate
}
var list1 = new List<Person>
{
new Person { ID= 1, Name = "Peter", ChangeDate= "2011-10-21" },
new Person { ID= 2, Name = "John", ChangeDate= "2011-10-22" },
new Person { ID= 3, Name = "Mike", ChangeDate= "2011-10-23" },
new Person { ID= 4, Name = "Dave", ChangeDate= "2011-10-24" }
};
var list2 = new List<Person>
{
new Person { ID= 1, Name = "Pete", ChangeDate= "2011-10-21" },
new Person { ID= 2, Name = "Johny", ChangeDate= "2011-10-20" },
new Person { ID= 3, Name = "Mikey", ChangeDate= "2011-10-24" },
new Person { ID= 5, Name = "Larry", ChangeDate= "2011-10-27" }
};
作爲輸出我想有列表1 +列表2 =加入兩個列表比較它們的元素的屬性
Person { ID= 1, Name = "Peter", ChangeDate= "2011-10-21" },
Person { ID= 2, Name = "John", ChangeDate= "2011-10-22" },
Person { ID= 3, Name = "Mikey", ChangeDate= "2011-10-24" },
Person { ID= 4, Name = "Dave", ChangeDate= "2011-10-24" }
Person { ID= 5, Name = "Larry", ChangeDate= "2011-10-27" }
,算法是這樣的。 加入兩個列表。如果列表中的元素具有相同的ID,請使用ChangeDate進行比較,並使用日期更長的ond。如果ChangeDate是eqal,則採取其中任何一種,但不能同時採用兩種。 也許它更容易連接兩個列表,而不是用lambda過濾它們。我試過了,但總是出來一些難看的代碼:/
任何人有什麼想法?
如果可以的話,我會用'DateTime'而不是字符串值。 –