C# list 去重
时间: 2023-09-23 21:10:17 浏览: 142
list的排序和去重
5星 · 资源好评率100%
要在C#中对一个List进行去重,可以使用以下方法:
1. 使用HashSet:将List作为HashSet的参数,这将自动删除重复的元素。然后将HashSet转换回List。
```csharp
List<T> uniqueList = new List<T>(new HashSet<T>(originalList));
```
其中,T是List中元素的类型。
2. 使用LINQ的Distinct方法:通过使用Distinct方法,可以返回一个不包含重复元素的新List。
```csharp
List<T> uniqueList = originalList.Distinct().ToList();
```
3. 自定义去重器:如果List中的元素自定义了Equals和GetHashCode方法,可以使用自定义的去重器。
```csharp
List<T> uniqueList = originalList.Distinct(new CustomEqualityComparer()).ToList();
```
其中,CustomEqualityComparer是一个实现了IEqualityComparer<T>接口的自定义比较器。
总结起来,要在C#中对List进行去重,可以使用HashSet、LINQ的Distinct方法或自定义去重器。以上是三种常见的方法,你可以根据实际情况选择其中一种来实现List的去重。
阅读全文