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# foreach 以及 Foreach...」Next Visual Basic 中的結構隱藏了列舉器的複雜性。 建議不要直接操作列舉器,而是使用 foreachFor Each...Next

最初,列舉器會被放置在 ReadOnlySpan<T>。 在此位置, Current 未定義。 你必須先呼叫MoveNext,讓列舉員在讀取 的值Current之前,先將列舉器推進到第一個項目ReadOnlySpan<T>

Current 回傳相同的值直到 MoveNext 被呼叫。 MoveNext 設定 Current 為 中的下一個項目 ReadOnlySpan<T>

MoveNext 通過 ReadOnlySpan<T>MoveNext 則返回 false。 當列舉器處於此狀態時,後續的回MoveNextfalseCurrent呼叫也為未定義。 你不能在 back 裡ReadOnlySpan<T>Current成第一個項目;你必須建立一個新的 enumerator 實例。

雖然 被 ReadOnlySpan<T> 分配在堆疊上,但指向 ReadOnlySpan<T> 的底層資料可能不在。 因此,透過 進行 ReadOnlySpan<T> 列舉本質上並非執行緒安全的程序。 為了確保列舉時執行緒的安全,你必須自行實作同步功能。

與.NET中其他一些列舉子結構不同,ReadOnlySpan<T>.Enumerator

屬性

名稱 Description
Current

會取得列舉器當前位置的項目參考。

方法

名稱 Description
MoveNext()

將列舉器推進到下一個項目 ReadOnlySpan<T>

明確介面實作

名稱 Description
IDisposable.Dispose()

執行與釋放、釋放或重置未管理資源相關的應用程式定義任務。

IEnumerator.Current

取得集合中位於列舉值目前位置的專案。

IEnumerator.Reset()

將列舉值設定為其初始位置,也就是集合中第一個專案之前。

IEnumerator<T>.Current

取得集合中位於列舉值目前位置的專案。

適用於