對象的兩個列表我ActionItem對象的兩個列表:LINQ加入/聯盟採取優先從第二在第一
ListA<ActionItem>;
ListB<ActionItem>;
public class ActionItem
{
#region Public Properties
public string ConnectionId { get; set; }
public int MachineId { get; set; }
public OperationType OperationType { get; set; }
public MachineOperationStatus OperationStatus { get; set; }
public string PackageId { get; set; }
public DateTime StartTime { get; set; }
public TabType TabType { get; set; }
public PageType PageType { get; set; }
#endregion
}
我想加入兩個列表利斯塔和數組listB下considiration ONLY設備ID和包標識服用。
IEnumerable<ActionItem> collection = this.ListA .Union(this.ListB);
的問題是,利斯塔可能沒有填寫的所有對象的數據,以便例如:
ListA will have machineId = 19, packageId = "abc"
,其餘的將是默認值。
ListB will have machineId = 19, packageId = "abc", StartTime = "2/3/2012".
所以我想獲得1行的結果有以下: 設備ID = 19,包標識= 「ABC」,開始時間= 「2012年2月3日」。
由於ListA缺少信息,執行聯合操作會返回2行而不是1。我想結果返回ListB的信息(因爲ListB總是有更多的信息,除非ListB沒有那個item(machineId,packageId))只能在machineId和packageId上加工。
感謝
檢查答案,並做這種更新可能會爲你工作.. – 2013-03-25 09:18:07