C# 如何合并2个列表项
我有两个列表项C# 如何合并2个列表项,c#,merge,listitem,C#,Merge,Listitem,我有两个列表项 首先 {Id = 1, Name = "a"}{Id = 2, Name = "b"}{Id = 3, Name = "c"} 第二 {Id = 2, Name = "b"}{Id = 3, Name = "c"}{Id = 4, Name = "d"} 如何合并它们并获得类似以下内容的列表项: {Id = 1, Name = "a"}{Id = 2, Name = "b"}{Id = 3, Name = "c"}{Id = 4, Name = "d"} 像这样的 cl
{Id = 1, Name = "a"}{Id = 2, Name = "b"}{Id = 3, Name = "c"}
{Id = 2, Name = "b"}{Id = 3, Name = "c"}{Id = 4, Name = "d"}
{Id = 1, Name = "a"}{Id = 2, Name = "b"}{Id = 3, Name = "c"}{Id = 4, Name = "d"}
像这样的
class items {
public int id;
public string name;
}
static void Main(string[] args)
{
var list = new List<items>();
list.Add(new items {id=1 , name="a"});
list.Add(new items { id = 2, name = "b" });
list.Add(new items { id = 3, name = "c" });
var list1 = new List<items>();
list1.Add(new items { id = 2, name = "b" });
list1.Add(new items { id = 3, name = "c" });
list1.Add(new items { id = 4, name = "d" });
var c = list.Select(b=> new {b.id, b.name});
var d = list1.Select(b => new { b.id, b.name });
var merge = c.Concat(d).Distinct().ToList();
foreach (var item in merge)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
类项目{
公共int id;
公共字符串名称;
}
静态void Main(字符串[]参数)
{
var list=新列表();
添加(新项目{id=1,name=“a”});
添加(新项目{id=2,name=“b”});
添加(新项目{id=3,name=“c”});
var list1=新列表();
列表1.Add(新项目{id=2,name=“b”});
列表1.Add(新项目{id=3,name=“c”});
列表1.Add(新项目{id=4,name=“d”});
var c=list.Select(b=>new{b.id,b.name});
vard=list1.Select(b=>new{b.id,b.name});
var merge=c.Concat(d.Distinct().ToList();
foreach(合并中的变量项)
{
控制台写入线(项目);
}
Console.ReadKey();
}
然后list1
是合并列表。您可以使用c的“AddRange”或“Union”或“Concat”函数#
e、 g
然后
或
您也可以使用Concat
看到他们之间的区别了吗
var list1 = new[]{new {Id = 1, Name = "a"},new {Id = 2, Name = "b"}, new{Id = 3, Name = "c"}}.ToList();
var list2 = new[]{new {Id = 1, Name = "a"},new {Id = 2, Name = "b"}, new{Id = 3, Name = "c"}}.ToList();
list1.AddRange(list2);
var list1 = new[]{new {Id = 1, Name = "a"},new {Id = 2, Name = "b"}, new{Id = 3, Name = "c"}}.ToList();
var list2 = new[]{new {Id = 1, Name = "a"},new {Id = 2, Name = "b"}, new{Id = 3, Name = "c"}}.ToList();
var MergedResult = list1.Union(list2).ToList();
var MergedResult = list1.AddRange(list2).ToList();