有一个int类型的数组,数组的内容是0,5,3,10,9,5,5,2,1 只遍历一次的情况下怎怎么删除重复的值 用C#完成
时间: 2024-11-25 09:11:43 浏览: 17
在 C# 中,你可以使用 HashSet 或者 LINQ 的 Distinct 方法来实现只遍历一次数组并删除重复值。这里提供两种方法:
**方法一:使用 HashSet**
HashSet 是一个无序的不包含重复元素的集合。我们可以先将数组转换为 HashSet,然后再将其转换回数组。
```csharp
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
int[] numbers = { 0, 5, 3, 10, 9, 5, 5, 2, 1 };
int[] uniqueNumbers = RemoveDuplicates(numbers);
// 输出去重后的数组
foreach (int num in uniqueNumbers)
Console.Write(num + " ");
}
public static int[] RemoveDuplicates(int[] arr)
{
HashSet<int> hashSet = new HashSet<int>(arr);
return hashSet.ToArray();
}
}
```
**方法二:使用 LINQ**
LINQ 提供了强大的查询功能,可以轻松地找出并移除重复项。
```csharp
using System;
using System.Linq;
public class Program
{
public static void Main()
{
int[] numbers = { 0, 5, 3, 10, 9, 5, 5, 2, 1 };
int[] uniqueNumbers = numbers.Distinct().ToArray();
// 输出去重后的数组
foreach (int num in uniqueNumbers)
Console.Write(num + " ");
}
}
```
阅读全文