String.GetEnumerator String.GetEnumerator String.GetEnumerator String.GetEnumerator Method

Definition

Ruft ein Objekt ab, das die einzelnen Zeichen dieser Zeichenfolge durchlaufen kann.Retrieves an object that can iterate through the individual characters in this string.

public:
 CharEnumerator ^ GetEnumerator();
public CharEnumerator GetEnumerator ();
member this.GetEnumerator : unit -> CharEnumerator
Public Function GetEnumerator () As CharEnumerator

Gibt zurück

Ein Enumeratorobjekt.An enumerator object.

Beispiele

Das folgende Beispiel durchläuft die Zeichen in der mehrere Zeichenfolgen und zeigt Informationen zu den einzelnen Zeichen.The following example iterates the characters in several strings and displays information about their individual characters. Er verwendet das Language-Iteration-Konstrukt, anstatt einen Aufruf der GetEnumerator Methode.It uses the language iteration construct rather than a call to the GetEnumerator method.

using namespace System;

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;

   for each (Char 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);
}

int main()
{
   EnumerateAndDisplay("Test Case");
   EnumerateAndDisplay("This is a sentence.");
   EnumerateAndDisplay("Has\ttwo\ttabs");
   EnumerateAndDisplay("Two\nnew\nlines");
}
// 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
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
Module Example
   Sub Main()
      EnumerateAndDisplay("Test Case")
      EnumerateAndDisplay("This is a sentence.")
      EnumerateAndDisplay("Has" & vbTab & "two" & vbTab & "tabs")
      EnumerateAndDisplay("Two" & vbLf & "new" & vbLf & "lines")
   End Sub 
       
   Sub EnumerateAndDisplay(phrase As String)
      Console.WriteLine("The characters in the string ""{0}"" are:", phrase)
       
      Dim charCount As Integer = 0
      Dim controlChars As Integer = 0
      Dim alphanumeric As Integer = 0
      Dim punctuation As Integer = 0
        
      For Each ch In phrase          
         Console.Write("'{0}' ", If(Not Char.IsControl(ch), ch, 
                                     "0x" + Convert.ToUInt16(ch).ToString("X4")))
         If Char.IsLetterOrDigit(ch) Then 
            alphanumeric += 1
         Else If Char.IsControl(ch) Then 
            controlChars += 1
         Else If Char.IsPunctuation(ch) Then 
            punctuation += 1             
         End If
         CharCount += 1
      Next

      Console.WriteLine()
      Console.WriteLine("   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}", controlChars)
      Console.WriteLine()
    End Sub 
End Module 
' This 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

Hinweise

Tipp

Anstatt Aufrufen der GetEnumerator Methode zum Abrufen einer CharEnumerator Objekt, das Sie verwenden, um eine Zeichenfolge aufgelistet werden, verwenden Sie stattdessen die Sprache des Iteration-Konstrukt (in c# in C++ / CLR, und in Visual Basic).Rather than calling the GetEnumerator method to retrieve a CharEnumerator object that you then use to enumerate a string, you should instead use your language's iteration construct (in C#, in C++/CLR, and in Visual Basic). Foreach in c# für jede in C++ / CLR und für jede in Visual Basic).foreach in C#, for each in C++/CLR, and For Each in Visual Basic).

Diese Methode können Sie die einzelnen Zeichen in einer Zeichenfolge zu durchlaufen.This method enables you to iterate the individual characters in a string. Z. B. Visual Basic For Each und C#- foreach -Anweisungen Aufrufen dieser Methode zurückgeben einer CharEnumerator Objekt, das nur-Lese Zugriff auf die Zeichen in dieser Zeichenfolgeninstanz bereitstellen kann.For example, the Visual Basic For Each and C# foreach statements invoke this method to return a CharEnumerator object that can provide read-only access to the characters in this string instance.

Gilt für:

Siehe auch