StringCollection.GetEnumerator Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve una clase StringEnumerator que recorre en iteración la clase StringCollection.
public:
System::Collections::Specialized::StringEnumerator ^ GetEnumerator();
public System.Collections.Specialized.StringEnumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Collections.Specialized.StringEnumerator
Public Function GetEnumerator () As StringEnumerator
Devoluciones
Estructura StringEnumerator para la colección StringCollection.
Comentarios
La instrucción foreach
del lenguaje C# (for each
en Visual Basic) oculta la complejidad de los enumeradores. Por lo tanto, se recomienda el uso de foreach
, en lugar de manipular directamente el enumerador.
Los enumeradores pueden usarse para leer los datos de la colección, pero no para modificar la colección subyacente.
En principio, el enumerador se coloca antes del primer elemento de la colección. Reset también devuelve el enumerador a esta posición. En esta posición, el valor de propiedad Current está sin definir. Por lo tanto, debe llamar a MoveNext para adelantar el enumerador hasta el primer elemento de la colección antes de leer el valor de Current.
Current devuelve el mismo objeto hasta que se llama a MoveNext o a Reset. MoveNext establece Current en el siguiente elemento.
Si MoveNext pasa el final de la colección, el enumerador se coloca después del último elemento de la colección y MoveNext devuelve false
. Cuando el enumerador está en esta posición, las llamadas posteriores a MoveNext también devuelven false
. Si la última llamada a MoveNext se false
devuelve , Current no está definida. Para volver a establecer el valor de Current en el primer elemento de la colección, se puede llamar primero a Reset y después a MoveNext.
Un enumerador sigue siendo válido mientras la colección permanezca inalterada. Si se hacen cambios en la colección (como agregar, modificar o eliminar elementos), el enumerador queda invalidado permanentemente y su comportamiento es indefinido.
La enumeración en una colección no es un procedimiento seguro para subprocesos ya que el enumerador carece de acceso exclusivo. A fin de garantizar la seguridad de los subprocesos, se puede bloquear la colección durante toda la enumeración. Para permitir que varios subprocesos obtengan acceso de lectura y escritura a la colección, debe implementar su propia sincronización.
Este método es una operación O(1).