ReadOnlySpan<T>.Enumerator 構造体

定義

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

型パラメーター

T
継承
ReadOnlySpan<T>.Enumerator
実装

注釈

C# 言語の C# foreachFor Each...次Visual Basicのコンストラクトでは、列挙子の複雑さが隠されます。 列挙子を直接操作する代わりに、 foreach または For Each...Next を使用することをお勧めします。

最初は、列挙子は ReadOnlySpan<T>の最初の要素の前に配置されます。 この位置では、 Current は未定義です。 MoveNextを呼び出して、Currentの値を読み取る前に、列挙子をReadOnlySpan<T>の最初の項目に進める必要があります。

Current は、 MoveNext が呼び出されるまで同じ値を返します。 MoveNext は、 CurrentReadOnlySpan<T>内の次の項目に設定します。

MoveNextReadOnlySpan<T>の末尾を通過した場合、MoveNextfalseを返します。 列挙子がこの状態の場合、後続の MoveNext 呼び出しでも false が返され、 Current は未定義になります。 ReadOnlySpan<T>の最初の項目にCurrentを再度設定することはできません。代わりに新しい列挙子インスタンスを作成する必要があります。

ReadOnlySpan<T>はスタックに割り当てられますが、ReadOnlySpan<T>が指す基になるデータは割り当てられない可能性があります。 したがって、 ReadOnlySpan<T> を通じて列挙することは、本質的にスレッド セーフなプロシージャではありません。 列挙中にスレッド セーフを保証するには、独自の同期を実装する必要があります。

.NETの他の列挙子構造とは異なり、ReadOnlySpan<T>.Enumerator:

  • IEnumeratorまたはIEnumerator<T> インターフェイスを実装しません。 これは、 ReadOnlySpan<T>.Enumeratorref 構造体 であり、ボックス化できないためです。

  • 列挙子をスパンの最初の要素の前の最初の位置に設定できる Reset メソッドは含まれません。 ( IEnumerator.Reset() メソッドはインターフェイスの一部として実装する必要がありますが、ほとんどの実装者は例外をスローするか、実装を提供しません)。

プロパティ

名前 説明
Current

列挙子の現在位置にある項目への参照を取得します。

メソッド

名前 説明
MoveNext()

列挙子を ReadOnlySpan<T>の次の項目に進めます。

明示的なインターフェイスの実装

名前 説明
IDisposable.Dispose()

アンマネージド リソースの解放、解放、またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

IEnumerator.Current

列挙子の現在位置にあるコレクション内の要素を取得します。

IEnumerator.Reset()

列挙子を最初の位置 (コレクション内の最初の要素の前) に設定します。

IEnumerator<T>.Current

列挙子の現在位置にあるコレクション内の要素を取得します。

適用対象