Export (0) Print
Expand All

String.GetEnumerator Method

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

[Visual Basic]
Public Function GetEnumerator() As CharEnumerator
[C#]
public CharEnumerator GetEnumerator();
[C++]
public: CharEnumerator* GetEnumerator();
[JScript]
public function GetEnumerator() : CharEnumerator;

Return Value

A CharEnumerator object.

Remarks

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.

Example

[Visual Basic, C#, C++] The following example uses the GetEnumerator method to display each System.Char in the input strings.

[Visual Basic] 
' Example for the String.GetEnumerator( ) method.
Imports System
Imports System.Collections
Imports Microsoft.VisualBasic

Module GetEnumerator
   
    Sub Main()
        Console.WriteLine( _
            "This example of String.GetEnumerator( ) " & _
            "generates the following output.")

        EnumerateAndDisplay("Test Case")
        EnumerateAndDisplay("Has" & vbTab & "two" & vbTab & "tabs")
        EnumerateAndDisplay("Two" & vbLf & "new" & vbLf & "lines")
    End Sub 'Main
       
    Sub EnumerateAndDisplay(Operand As String)

        Console.WriteLine( _
            vbCrLf & "The characters in the string ""{0}"" are:", Operand)
          
        Dim OperandEnum As IEnumerator = Operand.GetEnumerator()
        Dim CharCount As Integer = 0
          
        While OperandEnum.MoveNext()
            CharCount += 1
            Console.Write(" ""{0}"" ", OperandEnum.Current)
        End While

        Console.WriteLine(vbCrLf & " Character count: {0}", CharCount)

    End Sub 'EnumerateAndDisplay
End Module 'GetEnumerator

' This example of String.GetEnumerator( ) generates the following output.
' 
' The characters in the string "Test Case" are:
'  "T"  "e"  "s"  "t"  " "  "C"  "a"  "s"  "e"
'  Character count: 9
' 
' The characters in the string "Has       two     tabs" are:
'  "H"  "a"  "s"  "       "  "t"  "w"  "o"  "     "  "t"  "a"  "b"  "s"
'  Character count: 12
' 
' The characters in the string "Two
' new
' lines" are:
'  "T"  "w"  "o"  "
' "  "n"  "e"  "w"  "
' "  "l"  "i"  "n"  "e"  "s"
'  Character count: 13

[C#] 
// Example for the String.GetEnumerator( ) method.
using System;
using System.Collections;

class GetEnumerator 
{
    public static void Main() 
    {
        Console.WriteLine( 
            "This example of String.GetEnumerator( ) " +
            "generates the following output." );

        EnumerateAndDisplay( "Test Case" );
        EnumerateAndDisplay( "Has\ttwo\ttabs" );
        EnumerateAndDisplay( "Two\nnew\nlines" );
    }

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

        IEnumerator OperandEnum = Operand.GetEnumerator( );
        int         CharCount = 0;

        while( OperandEnum.MoveNext( ) )
        {
            CharCount++;
            Console.Write( " '{0}' ", OperandEnum.Current );
        }
        Console.WriteLine( "\n Character count: {0}", CharCount );
    }
}

/*
This example of String.GetEnumerator( ) generates the following output.

The characters in the string "Test Case" are:
 'T'  'e'  's'  't'  ' '  'C'  'a'  's'  'e'
 Character count: 9

The characters in the string "Has       two     tabs" are:
 'H'  'a'  's'  '       '  't'  'w'  'o'  '     '  't'  'a'  'b'  's'
 Character count: 12

The characters in the string "Two
new
lines" are:
 'T'  'w'  'o'  '
'  'n'  'e'  'w'  '
'  'l'  'i'  'n'  'e'  's'
 Character count: 13
*/

[C++] 
// Example for the String::GetEnumerator( ) method.
#using <mscorlib.dll>
using namespace System;
using namespace System::Collections;

void EnumerateAndDisplay( String* Operand )
{
    Console::WriteLine( 
        S"\nThe characters in the string \"{0}\" are:",
        Operand );

    IEnumerator* OperandEnum = Operand->GetEnumerator( );
    int          CharCount = 0;

    while( OperandEnum->MoveNext( ) )
    {
        CharCount++;
        Console::Write( S" '{0}' ", OperandEnum->Current );
    }
    Console::WriteLine( S"\n Character count: {0}", __box( CharCount ) );
}

void main() 
{
    Console::WriteLine( 
        S"This example of String::GetEnumerator( ) " 
        S"generates the following output." );

    EnumerateAndDisplay( S"Test Case" );
    EnumerateAndDisplay( S"Has\ttwo\ttabs" );
    EnumerateAndDisplay( S"Two\nnew\nlines" );
}

/*
This example of String::GetEnumerator( ) generates the following output.

The characters in the string "Test Case" are:
 'T'  'e'  's'  't'  ' '  'C'  'a'  's'  'e'
 Character count: 9

The characters in the string "Has       two     tabs" are:
 'H'  'a'  's'  '       '  't'  'w'  'o'  '     '  't'  'a'  'b'  's'
 Character count: 12

The characters in the string "Two
new
lines" are:
 'T'  'w'  'o'  '
'  'n'  'e'  'w'  '
'  'l'  'i'  'n'  'e'  's'
 Character count: 13
*/

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Common Language Infrastructure (CLI) Standard

See Also

String Class | String Members | System Namespace | IEnumerator | IEnumerable | Chars

Show:
© 2014 Microsoft