ReadOnlySpan<T>.Enumerator ReadOnlySpan<T>.Enumerator ReadOnlySpan<T>.Enumerator ReadOnlySpan<T>.Enumerator Struct

Definição

Fornece um enumerador para os elementos de um ReadOnlySpan<T>.Provides an enumerator for the elements of a ReadOnlySpan<T>.

public: value class ReadOnlySpan<T>::Enumerator
public struct ReadOnlySpan<T>.Enumerator
type ReadOnlySpan<'T>.Enumerator = struct
Public Structure ReadOnlySpan(Of T).Enumerator

Parâmetros de tipo

T
Herança
ReadOnlySpan<T>.EnumeratorReadOnlySpan<T>.EnumeratorReadOnlySpan<T>.EnumeratorReadOnlySpan<T>.Enumerator

Comentários

O C# foreach do C# idioma e o para cada... A próxima construção no Visual Basic oculta a complexidade dos enumeradores.The C# foreach of the C# language and the For Each...Next construct in Visual Basic hides the complexity of enumerators. Em vez de manipular diretamente o enumerador, foreach usar For Each...Next ou é recomendado.Instead of directly manipulating the enumerator, using foreach or For Each...Next is recommended.

Inicialmente, o enumerador é posicionado antes do primeiro elemento ReadOnlySpan<T>no.Initially, the enumerator is positioned before the first element in the ReadOnlySpan<T>. Nesta posição, Current está indefinido.At this position, Current is undefined. Você deve chamar MoveNext para avançar o enumerador para o primeiro item ReadOnlySpan<T> no antes de ler o valor Currentde.You must call MoveNext to advance the enumerator to the first item in the ReadOnlySpan<T> before reading the value of Current.

CurrentRetorna o mesmo valor até MoveNext que seja chamado.Current returns the same value until MoveNext is called. MoveNextdefine Current para o próximo item ReadOnlySpan<T>no.MoveNext sets Current to the next item in the ReadOnlySpan<T>.

Se MoveNext passar o final ReadOnlySpan<T>de, MoveNext retorna false.If MoveNext passes the end of the ReadOnlySpan<T>, MoveNext returns false. Quando o enumerador está nesse estado, as chamadas MoveNext subsequentes também retornam false e Current são indefinidas.When the enumerator is at this state, subsequent calls to MoveNext also return false and Current is undefined. Você não pode Current definir para o primeiro item ReadOnlySpan<T> no novamente; você deve criar uma nova instância de enumerador em vez disso.You cannot set Current to the first item in the ReadOnlySpan<T> again; you must create a new enumerator instance instead.

Embora o ReadOnlySpan<T> seja alocado na pilha, os dados subjacentes nos quais os ReadOnlySpan<T> pontos podem não ser.Though the ReadOnlySpan<T> is allocated on the stack, the underlying data on which the ReadOnlySpan<T> points to, may not be. Portanto, a enumeração por meio ReadOnlySpan<T> de um procedimento é intrinsecamente não seguro para thread.Therefore, enumerating through a ReadOnlySpan<T> is intrinsically not a thread-safe procedure. Para garantir a segurança do thread durante a enumeração, você deve implementar sua própria sincronização.To guarantee thread safety during enumeration, you must implement your own synchronization.

Ao contrário de algumas outras estruturas de enumerador ReadOnlySpan<T>.Enumeratorno .net, o:Unlike some other enumerator structures in .NET, the ReadOnlySpan<T>.Enumerator:

  • Não implementa a IEnumerator interface ou IEnumerator<T> .Does not implement the IEnumerator or IEnumerator<T> interface. Isso ocorre porque ReadOnlySpan<T>.Enumerator o é uma struct de referência e não pode ser emoldurado.This is because ReadOnlySpan<T>.Enumerator is a ref struct and cannot be boxed.

  • Não inclui um Reset método, que pode definir o enumerador para sua posição inicial antes do primeiro elemento no span.Does not include a Reset method, which can set the enumerator to its initial position before the first element in the span. (O IEnumerator.Reset() método deve ser implementado como parte da interface, mas a maioria dos implementadores geram uma exceção ou não fornecem nenhuma implementação.)(The IEnumerator.Reset() method must be implemented as part of the interface, but most implementors either throw an exception or provide no implementation.)

Propriedades

Current Current Current Current

Obtém uma referência ao item na posição atual do enumerador.Gets a reference to the item at the current position of the enumerator.

Métodos

MoveNext() MoveNext() MoveNext() MoveNext()

Avança o enumerador para o próximo item do ReadOnlySpan<T>.Advances the enumerator to the next item of the ReadOnlySpan<T>.

Aplica-se a