C#两个list集合去重复
时间: 2023-07-20 17:44:36 浏览: 107
你可以使用LINQ库来对List集合进行去重,示例代码如下:
```
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main(string[] args)
{
List<int> list1 = new List<int> { 1, 2, 3, 4 };
List<int> list2 = new List<int> { 3, 4, 5, 6 };
List<List<int>> listCollection = new List<List<int>> { list1, list2 };
var mergedList = listCollection.SelectMany(l => l).Distinct().ToList();
Console.WriteLine(string.Join(",", mergedList));
}
}
```
输出结果为:`1,2,3,4,5,6`。
这里先将两个List集合放在一个List集合中,然后使用`SelectMany`函数将所有List集合中的元素取出来,再使用`Distinct`函数进行去重,最后将结果转换成List类型。注意需要先引入`System.Linq`命名空间,才能使用LINQ库中的函数。
相关问题
C#两个list集合实体去重复
如果你想要对两个List集合中的实体对象进行去重,可以使用`DistinctBy`函数。这个函数需要使用第三方库`MoreLINQ`,示例代码如下:
```
using System;
using System.Collections.Generic;
using System.Linq;
using MoreLinq;
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" }
};
List<List<Person>> listCollection = new List<List<Person>> { list1, list2 };
var mergedList = listCollection.SelectMany(l => l).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`。
这里使用`DistinctBy`函数对两个List集合中的Person对象进行去重,按照Id属性进行去重。注意需要先引入`System.Linq`和`MoreLinq`命名空间,才能使用相关的函数。
C#两个list集合实体相加后去重复
如果你想要对两个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`命名空间,才能使用相关的函数。
阅读全文