【发布时间】:2016-12-06 16:12:27
【问题描述】:
我有两个列表:
public class ListTemplate
{
public decimal Id { get; set; }
public string Title { get; set; }
}
public List<ListTemplate> List1 = new List<ListTemplate>();
public List<ListTemplate> List2 = new List<ListTemplate>();
清单 1:
ID = 1, Title = "a"
ID = 2, Title = "b"
ID = 3, Title = "c"
ID = 4, Title = "d"
清单 2:
ID = 3, Title = "c"
ID = 4, Title = "ab"
ID = 5, Title = "a"
ID = 6, Title = "a"
我想得到结果:
ID = 1, Title = "a"
ID = 2, Title = "b"
ID = 3, Title = "c"
ID = 4, Title = "ab"
ID = 5, Title = "a"
ID = 6, Title = "a"
我们看到,title item 被 list2 中的 item 替换了。
获得这种结果的最佳方法可能是使用 LINQ。有人知道这样做的热门方法吗?
【问题讨论】:
-
ID = 4, Title = "d"在哪里? -
被列表2中的字符串替换,因为它们的ID相同
-
您的要求不完整。如果两者都包含 ID(第二个列表中的项目),您想要什么?你想要两个列表的“完全外连接”吗?如果两个列表都包含多个具有相同 ID 的项目怎么办?
-
那是不可能的,两个列表可以有相同的ID,但在单个列表中ID是唯一的。
-
你能回答我所有的问题吗?
标签: c# performance linq list