ReadOnlySpan<T>.Enumerator Structure

Définition

Fournit un énumérateur pour les éléments d’un 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

Paramètres de type

T
Héritage
ReadOnlySpan<T>.Enumerator

Remarques

Le C# foreach du C# langage et l’instruction for each... La construction suivante dans Visual Basic masque la complexité des énumérateurs.The C# foreach of the C# language and the For Each...Next construct in Visual Basic hides the complexity of enumerators. Au lieu de manipuler directement l’énumérateur, l' foreach utilisation For Each...Next de ou de est recommandée.Instead of directly manipulating the enumerator, using foreach or For Each...Next is recommended.

Initialement, l’énumérateur est positionné avant le premier élément de ReadOnlySpan<T>.Initially, the enumerator is positioned before the first element in the ReadOnlySpan<T>. À cette position, Current n'est pas défini.At this position, Current is undefined. Vous devez appeler MoveNext pour avancer l’énumérateur jusqu’au premier élément de la ReadOnlySpan<T> avant de lire la valeur Currentde.You must call MoveNext to advance the enumerator to the first item in the ReadOnlySpan<T> before reading the value of Current.

Currentretourne la même valeur tant MoveNext que n’est pas appelé.Current returns the same value until MoveNext is called. MoveNextaffecte Current à l’élément suivant ReadOnlySpan<T>dans.MoveNext sets Current to the next item in the ReadOnlySpan<T>.

Si MoveNext passe la fin ReadOnlySpan<T>de, MoveNext retourne false.If MoveNext passes the end of the ReadOnlySpan<T>, MoveNext returns false. Lorsque l’énumérateur est à cet État, les appels suivants MoveNext à retournent false également et Current n’est pas défini.When the enumerator is at this state, subsequent calls to MoveNext also return false and Current is undefined. Vous ne pouvez Current pas définir à nouveau le premier ReadOnlySpan<T> élément de. vous devez créer une nouvelle instance d’énumérateur à la place.You cannot set Current to the first item in the ReadOnlySpan<T> again; you must create a new enumerator instance instead.

Bien que ReadOnlySpan<T> soit alloué sur la pile, les données sous-jacentes sur lesquelles pointe, ne peut pas être. ReadOnlySpan<T>Though the ReadOnlySpan<T> is allocated on the stack, the underlying data on which the ReadOnlySpan<T> points to, may not be. Par conséquent, l’énumération ReadOnlySpan<T> par le biais d’un n’est intrinsèquement pas une procédure thread-safe.Therefore, enumerating through a ReadOnlySpan<T> is intrinsically not a thread-safe procedure. Pour garantir la sécurité des threads pendant l’énumération, vous devez implémenter votre propre synchronisation.To guarantee thread safety during enumeration, you must implement your own synchronization.

Contrairement à d’autres structures d’énumérateur dans .NET ReadOnlySpan<T>.Enumerator, :Unlike some other enumerator structures in .NET, the ReadOnlySpan<T>.Enumerator:

  • N’implémente pas IEnumerator l' IEnumerator<T> interface ou.Does not implement the IEnumerator or IEnumerator<T> interface. Cela est dû ReadOnlySpan<T>.Enumerator au fait que est un struct de référence et qu’il ne peut pas être boxed.This is because ReadOnlySpan<T>.Enumerator is a ref struct and cannot be boxed.

  • N’inclut pas de Reset méthode, qui peut affecter à l’énumérateur sa position initiale avant le premier élément de l’étendue.Does not include a Reset method, which can set the enumerator to its initial position before the first element in the span. (La IEnumerator.Reset() méthode doit être implémentée dans le cadre de l’interface, mais la plupart des implémenteurs lèvent une exception ou ne fournissent aucune implémentation.)(The IEnumerator.Reset() method must be implemented as part of the interface, but most implementors either throw an exception or provide no implementation.)

Propriétés

Current

Obtient une référence à l’élément à la position actuelle de l’énumérateur.Gets a reference to the item at the current position of the enumerator.

Méthodes

MoveNext()

Avance l’énumérateur à l’élément suivant de ReadOnlySpan<T>.Advances the enumerator to the next item of the ReadOnlySpan<T>.

S’applique à