如何使用 C# 获取字符串中出现次数最多的字符?
csharpprogrammingserver side programming更新于 2025/5/4 7:37:17
字符串中出现次数最多的字符是指出现次数最多的字符。以下示例可演示此操作。
字符串:apples are red 上述字符串中出现次数最多的字符是 e,它出现了 3 次,比其他任何字符的出现次数都多。
以下程序使用 C# 获取字符串中出现次数最多的字符。
示例
using System;
namespace charCountDemo {
public class Example {
public static void Main() {
String str = "abracadabra";
int []charCount = new int[256];
int length = str.Length;
for (int i = 0; i < length; i++) {
charCount[str[i]]++;
}
int maxCount = -1;
char character = ' ';
for (int i = 0; i < length; i++) {
if (maxCount < charCount[str[i]]) {
maxCount = charCount[str[i]];
character = str[i];
}
}
Console.WriteLine("The string is: " + str);
Console.WriteLine("The highest occurring character in the above string is: " + character);
Console.WriteLine("Number of times this character occurs: " + maxCount);
}
}
}
输出
上述程序的输出如下。
The string is: abracadabra The highest occurring character in the above string is: a Number of times this character occurs: 5
现在,让我们理解一下上面的程序。
字符串 str 是 abracadabra。创建一个大小为 256 的新数组 charCount,用于显示 ASCII 表中的所有字符。然后使用 for 循环遍历字符串 str,并根据字符串中的字符递增 charCount 的值。这可以在以下代码片段中看到。
String str = "abracadabra";
int []charCount = new int[256];
int length = str.Length;
for (int i = 0; i < length; i++) {
charCount[str[i]]++;
}
整数 maxCount 存储最大计数,character 是出现次数最多的 char 值。可以使用 for 循环确定 maxCount 和 character 的值。如以下代码片段所示。
int maxCount = -1;
char character = ' ';
for (int i = 0; i < length; i++) {
if (maxCount < charCount[str[i]]) {
maxCount = charCount[str[i]];
character = str[i];
}
}
最后,显示 str、maxCount 和 character 的值。如以下代码片段所示。
Console.WriteLine("The string is: " + str);
Console.WriteLine("The highest occurring character in the above string is: " + character);
Console.WriteLine("Number of times this character occurs: " + maxCount);

