ReadOnlySpan<T> 結構
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供任意記憶體連續區域的類型安全與記憶體安全只讀表示。
generic <typename T>
public value class ReadOnlySpan
public readonly ref struct ReadOnlySpan<T>
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))]
public readonly ref struct ReadOnlySpan<T>
type ReadOnlySpan<'T> = struct
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))>]
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)
類型參數
- T
ReadOnlySpan<T>中的項目類型。
- 繼承
- 屬性
備註
ReadOnlySpan<T>
是堆疊上配置的 ref 結構,且永遠無法逸出至 Managed 堆積。 Ref 結構類型有一些限制,以確保它們無法升階到 Managed 堆積,包括無法在 Lambda 表達式中擷取它們、指派給類型 Object變數、指派給 dynamic
變數,而且無法實作任何介面類型。
ReadOnlySpan<T>
實例通常用來參考數位或數位部分的專案。 不過,不同於陣列,ReadOnlySpan<T>
實例可以指向堆疊上管理的記憶體、原生記憶體或記憶體。
建構函式
ReadOnlySpan<T>(T) |
在指定的參考周圍建立長度為1的新 ReadOnlySpan<T>。 |
ReadOnlySpan<T>(T[]) |
在整個指定的陣列上建立新的 ReadOnlySpan<T>。 |
ReadOnlySpan<T>(T[], Int32, Int32) |
建立新的 ReadOnlySpan<T>,其中包含從指定索引開始之陣列的指定項目數。 |
ReadOnlySpan<T>(Void*, Int32) |
從指定記憶體位址開始的指定 |
屬性
Empty |
傳回空 ReadOnlySpan<T>。 |
IsEmpty |
傳回值,這個值表示目前的唯讀範圍是空的。 |
Item[Int32] |
從指定之以零起始之索引的唯讀範圍取得專案。 |
Length |
唯讀範圍中的項目數目。 |
方法
CastUp<TDerived>(ReadOnlySpan<TDerived>) |
將 |
CopyTo(Span<T>) |
將這個 ReadOnlySpan<T> 的內容複製到目的地 Span<T>。 |
Equals(Object) |
已淘汰.
已淘汰.
不支援。 擲回 NotSupportedException。 |
GetEnumerator() |
傳回這個 ReadOnlySpan<T>的列舉值。 |
GetHashCode() |
已淘汰.
不支援。 擲回 NotSupportedException。 |
GetPinnableReference() |
傳回 T 型別物件的唯讀參考,可用於釘選。 此方法的目的是要支援 .NET 編譯程式,而不是由使用者程式代碼呼叫。 |
Slice(Int32) |
從目前只讀範圍形成配量,從指定的索引開始。 |
Slice(Int32, Int32) |
從指定長度的指定索引開始,從目前只讀範圍形成配量。 |
ToArray() |
將這個唯讀範圍的內容複製到新的數位中。 |
ToString() |
傳回這個 ReadOnlySpan<T>的字串表示。 |
TryCopyTo(Span<T>) |
嘗試將此 ReadOnlySpan<T> 的內容複製到 Span<T>,並傳回值,指出作業是否成功。 |
運算子
Equality(ReadOnlySpan<T>, ReadOnlySpan<T>) |
傳回值,這個值表示兩個 ReadOnlySpan<T> 實例是否相等。 |
Implicit(ArraySegment<T> to ReadOnlySpan<T>) |
定義 ArraySegment<T> 到 ReadOnlySpan<T>的隱含轉換。 |
Implicit(T[] to ReadOnlySpan<T>) |
定義陣列到 ReadOnlySpan<T>的隱含轉換。 |
Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>) |
傳回值,這個值表示兩個 ReadOnlySpan<T> 實例是否不相等。 |