c#中对数组去重的方法
时间: 2024-10-09 10:13:09 浏览: 55
在 C# 中,可以使用多种方法对数组进行去重操作,这里列举几种常见的方法:
1. **HashSet**: 利用 HashSet 数据结构,因为它是无序的且不允许有重复元素,将数组转换为 HashSet,然后再转回数组即可。例如:
```csharp
int[] array = { 1, 2, 2, 3, 3, 3 };
HashSet<int> hashSet = new HashSet<int>(array);
int[] uniqueArray = hashSet.ToArray();
```
2. **LINQ Distinct**: 如果你的项目支持 LINQ (Language Integrated Query),你可以使用 `Distinct()` 方法:
```csharp
int[] array = { 1, 2, 2, 3, 3, 3 };
int[] uniqueArray = array.Distinct().ToArray();
```
3. **自定义排序+遍历**: 对数组进行排序,然后遍历并添加到新的数组,忽略连续相同的值。
```csharp
int[] array = { 1, 2, 2, 3, 3, 3 };
array = array.OrderBy(x => x).ToArray();
uniqueArray = new int[array.Length];
for (int i = 0; i < array.Length - 1 && i < uniqueArray.Length; i++)
{
if (array[i] != array[i + 1])
{
uniqueArray[i] = array[i];
}
}
uniqueArray[uniqueArray.Length - 1] = array[array.Length - 1];
```
阅读全文