C# 字符串 - GetEnumerator() 方法
C# 字符串 GetEnumerator() 方法用于检索可迭代此字符串中各个字符的枚举器或对象。
语法
以下是 C# 字符串 GetEnumerator() 方法的语法 -
public CharEnumerator GetEnumerator ();
参数
此方法不接受任何参数。
返回值
此方法返回一个枚举器对象,可用于迭代字符串中的字符。
示例 1:基本字符串 GetEnumerator
以下是使用 GetEnumerator() 方法获取字符串所有字符的基本示例 -
using System;
class Program {
static void Main() {
string sample = "tutorialspoint, ";
CharEnumerator enumerator = sample.GetEnumerator();
while (enumerator.MoveNext())
{
char currentChar = enumerator.Current;
Console.WriteLine(currentChar);
}
}
}
输出
以下是输出 -
t u t o r i a l s p o i n t ,
示例 2:计数字符串中的元音字母
我们再来看一个使用 GetEnumerator() 方法获取字符串枚举器的示例。然后,我们遍历每个字符,检查该字符是否为元音字母 -
using System;
class Program {
static void Main() {
string input = "Learning c# is fun!";
int vowelCount = 0;
// 获取字符串的枚举器
CharEnumerator enumerator = input.GetEnumerator();
// 遍历字符串中的每个字符
while (enumerator.MoveNext()) {
char currentChar = char.ToLower(enumerator.Current);
// 检查字符是否是元音
if ("aeiou".Contains(currentChar)) {
vowelCount++;
}
}
Console.WriteLine($"The number of vowels in the string is: {vowelCount}");
}
}
输出
以下是输出 -
The number of vowels in the string is: 5
示例 3:反转字符串
在此示例中,我们使用 GetEnumerator() 方法来演示如何通过显式迭代字符串中的字符来反转字符串 -
using System;
class Program {
static void Main() {
string original = "Hello, tutorialspoint";
string reversed = ReverseString(original);
Console.WriteLine("Original String: " + original);
Console.WriteLine("Reversed String: " + reversed);
}
static string ReverseString(string input) {
CharEnumerator enumerator = input.GetEnumerator();
string reversed = string.Empty;
// 使用枚举器遍历字符串
while (enumerator.MoveNext()) {
reversed = enumerator.Current + reversed;
}
return reversed;
}
}
输出
以下是输出 -
Original String: Hello, World! Reversed String: !dlroW ,olleH
示例 4:计数字符串中的辅音
以下示例使用 GetEnumerator() 方法获取字符串的枚举器。然后,我们遍历每个字符以检查该字符是否为常量 -
using System;
class Program {
static void Main() {
string input = "Learning c# is fun!";
int consonantCount = 0;
// 获取字符串的枚举器
CharEnumerator enumerator = input.GetEnumerator();
// 遍历字符串中的每个字符
while (enumerator.MoveNext()) {
char currentChar = char.ToLower(enumerator.Current);
// 检查字符是否是元音
if (char.IsLetter(currentChar) && !"aeiou".Contains(currentChar)) {
consonantCount++;
}
}
Console.WriteLine($"The number of consonants in the string is: {consonantCount}");
}
}
输出
以下是输出 -
The number of consonants in the string is: 9

csharp_strings.html