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