我有两个列表,我想合并成一个列表。 Active Directory中的计算机列表以及SCCM中的计算机列表。C#合并两个对象列表
利斯塔包含:
public string ComputerName { get; set; }
public string OperatingSystem { get; set; }
public DateTime? LastLogon { get; set; }
数组listB包含:
public string ComputerName { get; set; }
public DateTime[] AgentTime { get; set; }
public string LastLogonUserName { get; set; }
我想通过计算机名进行合并,但如果我这样做与加盟使用(例如):
var query = from ObjectA in ListA
join ObjectB in ListB on ObjectA.ComputerName equals ObjectB.ComputerName
select new { computername = ObjectA.ComputerName, lastlogonusername = ObjectB.LastLogonUserName };
它只显示两个列表的结果。我要让计算机列表中AD与那些还含有SCCM
ListC附加信息:
public string ComputerName { get; set; }
public string OperatingSystem { get; set; }
public DateTime? LastLogon { get; set; }
public DateTime[] AgentTime { get; set; }
public string LastLogonUserName { get; set; }
什么是这样做的最佳方式?
你得到的输出是你的内部联接的结果。 –
请参阅以下网页上的左外连接:https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b – jdweng
您正在通过'new {}'创建动态对象。如果需要,创建一个自定义类。 –