ReadOnlySpan<T>.Enumerator Struct

Definitie

Biedt een opsomming voor de elementen van een 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

Type parameters

T
Overname
ReadOnlySpan<T>.Enumerator
Implementeringen

Opmerkingen

De C# foreach van de C#-taal en de Voor elke... Vervolgens constructie in Visual Basic de complexiteit van opsommingen verborgen. In plaats van de enumerator rechtstreeks te bewerken, wordt het gebruik foreach of For Each...Next aanbevolen.

In eerste instantie wordt de enumerator vóór het eerste element in de ReadOnlySpan<T>. Op deze positie Current is niet gedefinieerd. U moet de opsomming doorschakelen MoveNext naar het eerste item in de ReadOnlySpan<T> voordat u de waarde leest Current.

Current retourneert dezelfde waarde totdat MoveNext deze wordt aangeroepen. MoveNext wordt ingesteld Current op het volgende item in de ReadOnlySpan<T>.

Als MoveNext het einde van de ReadOnlySpan<T>waarde wordt doorgegeven, MoveNext wordt het resultaat geretourneerd false. Wanneer de enumerator deze status heeft, worden volgende aanroepen ook MoveNext geretourneerd false en Current is deze niet gedefinieerd. U kunt het eerste item niet Current opnieuw instellenReadOnlySpan<T>. U moet in plaats daarvan een nieuw enumerator-exemplaar maken.

Hoewel de ReadOnlySpan<T> toewijzing aan de stack is toegewezen, zijn de onderliggende gegevens waarop de ReadOnlySpan<T> punten betrekking hebben mogelijk niet. Daarom is het inventariseren via een ReadOnlySpan<T> intrinsiek geen thread-veilige procedure. Als u de veiligheid van threads tijdens de inventarisatie wilt garanderen, moet u uw eigen synchronisatie implementeren.

In tegenstelling tot andere enumeratorstructuren in .NET, wordt de ReadOnlySpan<T>.Enumerator:

  • Implementeert de IEnumerator of IEnumerator<T> interface niet. Dit komt doordat ReadOnlySpan<T>.Enumerator het een refstruct is en niet in een vak kan worden geplaatst.

  • Bevat geen Reset methode, die de enumerator kan instellen op de oorspronkelijke positie vóór het eerste element in de periode. (De IEnumerator.Reset() methode moet worden geïmplementeerd als onderdeel van de interface, maar de meeste implementors genereren een uitzondering of bieden geen implementatie.)

Eigenschappen

Name Description
Current

Hiermee haalt u een verwijzing naar het item op de huidige positie van de enumerator op.

Methoden

Name Description
MoveNext()

Hiermee gaat u naar het volgende item van de ReadOnlySpan<T>opsomming.

Expliciete interface-implementaties

Name Description
IDisposable.Dispose()

Voert door de toepassing gedefinieerde taken uit die zijn gekoppeld aan het vrijmaken, vrijgeven of opnieuw instellen van onbeheerde resources.

IEnumerator.Current

Hiermee haalt u het element in de verzameling op de huidige positie van de enumerator op.

IEnumerator.Reset()

Hiermee stelt u de enumerator in op de oorspronkelijke positie, die vóór het eerste element in de verzameling valt.

IEnumerator<T>.Current

Hiermee haalt u het element in de verzameling op de huidige positie van de enumerator op.

Van toepassing op