Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

CharEnumerator (Clase)

Admite la iteración en un objeto String y la lectura de sus caracteres individuales. Esta clase no puede heredarse.

System.Object
  System.CharEnumerator

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class CharEnumerator : ICloneable, 
	IEnumerator<char>, IEnumerator, IDisposable

El tipo CharEnumerator expone los siguientes miembros.

  NombreDescripción
Propiedad públicaCompatible con XNA FrameworkCurrentObtiene el carácter al que se hace referencia actualmente en la cadena enumerada por este objeto CharEnumerator.
Arriba

  NombreDescripción
Método públicoCompatible con XNA FrameworkCloneCrea una copia del objeto CharEnumerator actual.
Método públicoDisposeLibera todos los recursos usados por la instancia actual de la clase CharEnumerator.
Método públicoCompatible con XNA FrameworkEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkMoveNextIncrementa el índice interno del objeto CharEnumerator actual hasta el siguiente carácter de la cadena enumerada.
Método públicoCompatible con XNA FrameworkResetInicializa el índice en una posición situada lógicamente delante del primer carácter de la cadena enumerada.
Método públicoCompatible con XNA FrameworkToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIDisposable.DisposeLibera todos los recursos que utiliza la clase CharEnumerator.
Implementación explícita de interfacesPropiedad privadaCompatible con XNA FrameworkIEnumerator.CurrentInfraestructura. Obtiene el carácter al que se hace referencia actualmente en la cadena enumerada por este objeto CharEnumerator. Para obtener una descripción de este miembro, vea IEnumerator.Current.
Arriba

Un CharEnumerator proporciona acceso de sólo lectura a los caracteres de un objeto String al que se hace referencia. Por ejemplo, la instrucción foreach de los lenguajes de programación Microsoft Visual Basic y C#, que recorre en iteración los elementos de una colección, recupera un objeto CharEnumerator de un objeto String para recorrer en iteración los caracteres de ese objeto.

No hay ningún constructor público para CharEnumerator. En su lugar, llame al método GetEnumerator de un objeto String para obtener un CharEnumerator que se inicialice para hacer referencia a la cadena.

Un CharEnumerator mantiene un índice interno a los caracteres de la cadena a que hace referencia el CharEnumerator. El estado del índice no es válido cuando hace referencia a una posición de carácter situada lógicamente delante del primer carácter o detrás del último carácter de la cadena, y es válido cuando hace referencia a un carácter situado dentro de la cadena. El índice se inicializa en una posición situada lógicamente delante del primer carácter, y se establece en una posición situada detrás del último carácter cuando finaliza la iteración. Se produce una excepción si se intenta el acceso a un carácter cuando el índice no es válido.

El método MoveNext incrementa el índice en una unidad, de modo que el acceso al primer carácter y a los caracteres siguientes se produce secuencialmente. El método Reset establece el índice en una posición situada lógicamente delante del primer carácter. La propiedad Current recupera el carácter al que hace referencia actualmente el índice. El método Clone crea una copia del CharEnumerator.

NotaNota

Varias instancias independientes de CharEnumerator en uno o varios subprocesos pueden tener acceso a una sola instancia de String. Esta clase se implementa para admitir la interfaz IEnumerator. Para obtener más información sobre el uso de un enumerador, vea el tema IEnumerator.

En el ejemplo siguiente se utiliza la clase CharEnumerator para enumerar los caracteres individuales de una cadena. Crea una instancia de un objeto CharEnumerator mediante una llamada al método String.GetEnumerator, pasa de un carácter al siguiente mediante una llamada al método MoveNext y muestra el carácter actual recuperando el valor de la propiedad Current.


string title = "A Tale of Two Cities";
CharEnumerator chEnum = title.GetEnumerator();
int ctr = 1;
string outputLine1 = null;
string outputLine2 = null;
string outputLine3 = null; 

while (chEnum.MoveNext())
{
   outputLine1 += ctr < 10 || ctr % 10 != 0 ? "  " : (ctr / 10) + " ";
   outputLine2 += (ctr % 10) + " ";
   outputLine3 += chEnum.Current + " ";
   ctr++;
}

Console.WriteLine("The length of the string is {0} characters:", 
                  title.Length);
Console.WriteLine(outputLine1);
Console.WriteLine(outputLine2);    
Console.WriteLine(outputLine3);
// The example displays the following output to the console:      
//       The length of the string is 20 characters:
//                         1                   2
//       1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
//       A   T a l e   o f   T w o   C i t i e s


Sin embargo, observe que la misma operación se puede realizar de un modo algo más intuitivo mediante foreach (en C#) o For Each (en Visual Basic), como se muestra en el ejemplo siguiente.


string title = "A Tale of Two Cities";
int ctr = 1;
string outputLine1 = null;
string outputLine2 = null;
string outputLine3 = null; 

foreach (char ch in title)
{
   outputLine1 += ctr < 10 || ctr % 10 != 0 ? "  " : (ctr / 10) + " ";
   outputLine2 += (ctr % 10) + " ";
   outputLine3 += ch + " ";
   ctr++;
}

Console.WriteLine("The length of the string is {0} characters:", 
                  title.Length);
Console.WriteLine(outputLine1);
Console.WriteLine(outputLine2);    
Console.WriteLine(outputLine3);
// The example displays the following output to the console:      
//       The length of the string is 20 characters:
//                         1                   2
//       1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
//       A   T a l e   o f   T w o   C i t i e s


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft