C# 给 Char[]去重
时间: 2024-12-23 11:19:19 浏览: 3
在 C# 中,如果你有一个 Char 数组,并希望去除其中的重复字符,可以使用 `HashSet<T>` 类型。`HashSet<T>` 是一个无序的不包含重复元素的集合,非常适合这个需求。以下是简单的步骤:
1. 创建一个新的 HashSet<Char>:
```csharp
HashSet<char> uniqueChars = new HashSet<char>();
```
2. 遍历输入的 Char 数组,添加每个元素到 HashSet 中。由于 HashSet 自动处理重复元素,所以重复的字符只会插入一次:
```csharp
char[] charArray = { 'a', 'b', 'c', 'd', 'a', 'e', 'c' }; // 假设这是你的数组
foreach (char c in charArray)
{
uniqueChars.Add(c);
}
```
3. 获取不重复的 Char 数组,你可以通过 `.ToArray()` 转换 HashSet:
```csharp
char[] distinctChars = uniqueChars.ToArray();
```
现在,`distinctChars` 数组就是去重后的 Char 数组。
相关问题
c# 字符串数字去重
可以通过将字符串转换为字符数组,使用 LINQ 的 Distinct() 方法对字符数组进行去重,最后再将字符数组转换回字符串的方式实现字符串数字去重。示例代码如下:
```csharp
string input = "112233445566778899";
char[] charArray = input.ToCharArray();
char[] uniqueChars = charArray.Distinct().ToArray();
string output = new string(uniqueChars);
Console.WriteLine(output); // 输出:123456789
```
注意,上述代码仅适用于字符串中的数字是单个字符。如果字符串中的数字有多个字符,可以使用正则表达式匹配数字,然后再进行去重操作。
阅读全文