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
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