Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método String.GetEnumerator ()

 

Publicado: octubre de 2016

Recupera un objeto que puede recorrer en iteración los caracteres individuales de esta cadena.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

public CharEnumerator GetEnumerator()

Valor devuelto

Type: System.CharEnumerator

Objeto enumerador.

System_CAPS_tipSugerencia

Rather than calling the M:System.String.GetEnumerator method to retrieve a T:System.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#, for each in C++/CLR, and For Each in Visual Basic).

This method enables you to iterate the individual characters in a string. For example, the Visual Basic For Each and C# foreach statements invoke this method to return a T:System.CharEnumerator object that can provide read-only access to the characters in this string instance.

The following example iterates the characters in several strings and displays information about their individual characters. It uses the language iteration construct rather than a call to the M:System.String.GetEnumerator method.

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
Disponible desde 1.1
Volver al principio
Mostrar: