ReadOnlySpan<T>.Enumerator Estructura
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í.
Proporciona un enumerador para los elementos de .ReadOnlySpan<T>
public: value class ReadOnlySpan<T>::Enumerator : System::Collections::Generic::IEnumerator<T>
public: value class ReadOnlySpan<T>::Enumerator
public ref struct ReadOnlySpan<T>.Enumerator : System.Collections.Generic.IEnumerator<T>
public ref struct ReadOnlySpan<T>.Enumerator
type ReadOnlySpan<'T>.Enumerator = struct
interface IEnumerator<'T>
interface IEnumerator
interface IDisposable
type ReadOnlySpan<'T>.Enumerator = struct
Public Structure ReadOnlySpan(Of T).Enumerator
Implements IEnumerator(Of T)
Public Structure ReadOnlySpan(Of T).Enumerator
Parámetros de tipo
- T
- Herencia
- Implementaciones
Comentarios
El foreach o For Each...Next .
Inicialmente, el enumerador se coloca antes del primer elemento de ReadOnlySpan<T>. En esta posición, Current no está definido. Debe llamar MoveNext a para avanzar el enumerador al primer elemento de ReadOnlySpan<T> antes de leer el valor de Current.
Current devuelve el mismo valor hasta MoveNext que se llama a . MoveNextestablece Current en el elemento siguiente de .ReadOnlySpan<T>
Si MoveNext pasa el final de , ReadOnlySpan<T>MoveNext devuelve false. Cuando el enumerador está en este estado, las llamadas posteriores a también devuelven MoveNextfalse y Current no están definidas. No se puede establecer Current en el primer elemento de nuevo ReadOnlySpan<T> ; en su lugar, debe crear una nueva instancia del enumerador.
ReadOnlySpan<T> Aunque se asigna en la pila, es posible que no estén los datos subyacentes a los ReadOnlySpan<T> que apunta. Por lo tanto, la enumeración a través de no ReadOnlySpan<T> es intrínsecamente un procedimiento seguro para subprocesos. Para garantizar la seguridad de los subprocesos durante la enumeración, debe implementar su propia sincronización.
A diferencia de otras estructuras de enumerador en .NET, el ReadOnlySpan<T>.Enumerator:
No implementa la IEnumerator interfaz o IEnumerator<T> . Esto se debe a ReadOnlySpan<T>.Enumerator que es una estructura ref y no se puede boxear.
No incluye un
Resetmétodo , que puede establecer el enumerador en su posición inicial antes del primer elemento del intervalo. (El IEnumerator.Reset() método debe implementarse como parte de la interfaz, pero la mayoría de los implementadores inician una excepción o no proporcionan ninguna implementación).
Propiedades
| Nombre | Description |
|---|---|
| Current |
Obtiene una referencia al elemento en la posición actual del enumerador. |
Métodos
| Nombre | Description |
|---|---|
| MoveNext() |
Desplaza el enumerador al elemento siguiente de .ReadOnlySpan<T> |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IDisposable.Dispose() |
Realiza tareas definidas por la aplicación asociadas a la liberación, liberación o restablecimiento de recursos no administrados. |
| IEnumerator.Current |
Obtiene el elemento de la colección en la posición actual del enumerador. |
| IEnumerator.Reset() |
Establece el enumerador en su posición inicial, que es antes del primer elemento de la colección. |
| IEnumerator<T>.Current |
Obtiene el elemento de la colección en la posición actual del enumerador. |