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