C#两个list集合实体相加后去重复
时间: 2023-07-20 14:44:36 浏览: 174
如果你想要对两个List集合中的实体对象进行合并并去重,可以使用LINQ库中的`Union`函数和`DistinctBy`函数,示例代码如下:
```
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main(string[] args)
{
List<Person> list1 = new List<Person>
{
new Person { Id = 1, Name = "Alice" },
new Person { Id = 2, Name = "Bob" },
new Person { Id = 3, Name = "Charlie" }
};
List<Person> list2 = new List<Person>
{
new Person { Id = 2, Name = "Bob" },
new Person { Id = 3, Name = "Charlie" },
new Person { Id = 4, Name = "David" }
};
var mergedList = list1.Union(list2).DistinctBy(p => p.Id).ToList();
Console.WriteLine(string.Join(",", mergedList.Select(p => p.Name)));
}
}
class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
```
输出结果为:`Alice,Bob,Charlie,David`。
这里使用`Union`函数将两个List集合进行合并,然后使用`DistinctBy`函数对Person对象进行去重,按照Id属性进行去重。注意需要先引入`System.Linq`命名空间,才能使用相关的函数。
阅读全文