ReadOnlySpan<T>.Enumerator Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje výčet prvků objektu ReadOnlySpan<T>.
public: value class ReadOnlySpan<T>::Enumerator
public ref struct ReadOnlySpan<T>.Enumerator
type ReadOnlySpan<'T>.Enumerator = struct
Public Structure ReadOnlySpan(Of T).Enumerator
Parametry typu
- T
- Dědičnost
Poznámky
Foreach jazyka C# a for Each... Další konstruktor v jazyce Visual Basic skryje složitost výčtů. Místo přímé manipulace s enumerátorem použijte foreach
nebo For Each...Next
doporučujeme.
Zpočátku je enumerátor umístěn před první prvek v ReadOnlySpan<T>. V této pozici Current není definováno. Před přečtením hodnoty Currentje nutné volatMoveNext, aby se enumerátor přepojí na první položku v ReadOnlySpan<T> seznamu .
Current vrátí stejnou hodnotu, dokud MoveNext se nevolá. MoveNext nastaví Current na další položku v sadě ReadOnlySpan<T>.
Pokud MoveNext předá konec ReadOnlySpan<T>, MoveNext vrátí false
. Pokud je enumerátor v tomto stavu, následná volání, která se MoveNext mají vrátit false
a Current není definována. Znovu nelze nastavit Current první položku ReadOnlySpan<T> . Místo toho musíte vytvořit novou instanci enumerátoru.
ReadOnlySpan<T> I když je v zásobníku přidělena, podkladová data, na která ReadOnlySpan<T> odkazuje, nemusí být. Proto výčet prostřednictvím vnitřně není procedurou bezpečnou pro ReadOnlySpan<T> vlákno. Pokud chcete zajistit bezpečnost vláken během výčtu, musíte implementovat vlastní synchronizaci.
Na rozdíl od některých jiných struktur enumerátoru v .NET:ReadOnlySpan<T>.Enumerator
Neimplementuje IEnumerator ani IEnumerator<T> rozhraní. Důvodem je to, že ReadOnlySpan<T>.Enumerator jde o referenční strukturu a nelze ji vytvořit do rámečku.
Nezahrnuje metodu
Reset
, která může nastavit enumerátor na jeho počáteční pozici před prvním prvkem v rozsahu. (Metoda musí být implementována IEnumerator.Reset() jako součást rozhraní, ale většina implementátorů buď vyvolá výjimku nebo neposkytuje žádnou implementaci.)
Vlastnosti
Current |
Získá odkaz na položku na aktuální pozici enumerátoru. |
Metody
MoveNext() |
Přejde enumerátor na další položku .ReadOnlySpan<T> |