1 out of 1 rated this helpful - Rate this topic

String.GetEnumerator Method

Retrieves an object that can iterate through the individual characters in this string.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
public CharEnumerator GetEnumerator()

Return Value

Type: System.CharEnumerator
An enumerator object.

This method is required by programming languages that support the IEnumerator interface to iterate through members of a collection. For example, the Microsoft Visual Basic and C# programming languages' foreach statement invokes this method to return a CharEnumerator object that can provide read-only access to the characters in this instance of String.

The following example uses the GetEnumerator method to display each System.Char in the input strings.

using System;

class Example
{
   public static void Main() 
   {
      EnumerateAndDisplay("Test Case");
      EnumerateAndDisplay("This is a sentence.");
      EnumerateAndDisplay("Has\ttwo\ttabs" );
      EnumerateAndDisplay("Two\nnew\nlines");
   }

   static void EnumerateAndDisplay(String phrase)
   {
      Console.WriteLine("The characters in the string \"{0}\" are:",
                        phrase);

      int CharCount = 0;
      int controlChars = 0;
      int alphanumeric = 0;
      int punctuation = 0;

      foreach (var ch in phrase) {
         Console.Write("'{0}' ", ! Char.IsControl(ch) ? ch.ToString() : 
                                     "0x" + Convert.ToUInt16(ch).ToString("X4"));
         if (Char.IsLetterOrDigit(ch)) 
            alphanumeric++;
         else if (Char.IsControl(ch)) 
            controlChars++;
         else if (Char.IsPunctuation(ch)) 
            punctuation++;             
         CharCount++;
      }

      Console.WriteLine("\n   Total characters:        {0,3}", CharCount);
      Console.WriteLine("   Alphanumeric characters: {0,3}", alphanumeric);
      Console.WriteLine("   Punctuation characters:  {0,3}", punctuation);
      Console.WriteLine("   Control Characters:      {0,3}\n", controlChars);
   }
}
// The example displays the following output: 
//    The characters in the string "Test Case" are:
//    'T' 'e' 's' 't' ' ' 'C' 'a' 's' 'e' 
//       Total characters:          9 
//       Alphanumeric characters:   8 
//       Punctuation characters:    0 
//       Control Characters:        0 
//     
//    The characters in the string "This is a sentence." are:
//    'T' 'h' 'i' 's' ' ' 'i' 's' ' ' 'a' ' ' 's' 'e' 'n' 't' 'e' 'n' 'c' 'e' '.' 
//       Total characters:         19 
//       Alphanumeric characters:  15 
//       Punctuation characters:    1 
//       Control Characters:        0 
//     
//    The characters in the string "Has       two     tabs" are:
//    'H' 'a' 's' '0x0009' 't' 'w' 'o' '0x0009' 't' 'a' 'b' 's' 
//       Total characters:         12 
//       Alphanumeric characters:  10 
//       Punctuation characters:    0 
//       Control Characters:        2 
//     
//    The characters in the string "Two 
//    new 
//    lines" are: 
//    'T' 'w' 'o' '0x000A' 'n' 'e' 'w' '0x000A' 'l' 'i' 'n' 'e' 's' 
//       Total characters:         13 
//       Alphanumeric characters:  11 
//       Punctuation characters:    0 
//       Control Characters:        2

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.