MemoryMarshal.Cast 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
將一個原始類型的唯讀張成另一個原始類型的唯讀張成。 |
| Cast<TFrom,TTo>(Span<TFrom>) |
將一個原始類型的張成鑄造到另一個原始類型的張成。 |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
將一個原始類型的唯讀張成另一個原始類型的唯讀張成。
public:
generic <typename TFrom, typename TTo>
where TFrom : value class where TTo : value class static ReadOnlySpan<TTo> Cast(ReadOnlySpan<TFrom> span);
public static ReadOnlySpan<TTo> Cast<TFrom,TTo>(ReadOnlySpan<TFrom> span) where TFrom : struct where TTo : struct;
static member Cast : ReadOnlySpan<'From (requires 'From : struct)> -> ReadOnlySpan<'o (requires 'o : struct)> (requires 'From : struct and 'o : struct)
Public Shared Function Cast(Of TFrom As Structure, TTo As Structure) (span As ReadOnlySpan(Of TFrom)) As ReadOnlySpan(Of TTo)
類型參數
- TFrom
來源的範圍類型。
- TTo
目標跨度的類型。
參數
- span
- ReadOnlySpan<TFrom>
要轉換的原始切片。
傳回
轉換後的唯讀範圍。
例外狀況
TFrom 或 TTo 包含受管理物件參考。
Length新 ReadOnlySpan<T> 的性質將大於 MaxValue。
備註
兩者都TFromTTo無法包含受管理物件的參考。 該 Cast 方法會在執行時執行此檢查,若檢查失敗則拋 ArgumentException 出。
此方法僅支援支援記憶體存取偏差的平台,或是記憶體區塊以其他方式對齊。
適用於
Cast<TFrom,TTo>(Span<TFrom>)
將一個原始類型的張成鑄造到另一個原始類型的張成。
public:
generic <typename TFrom, typename TTo>
where TFrom : value class where TTo : value class static Span<TTo> Cast(Span<TFrom> span);
public static Span<TTo> Cast<TFrom,TTo>(Span<TFrom> span) where TFrom : struct where TTo : struct;
[System.Runtime.CompilerServices.OverloadResolutionPriority(1)]
public static Span<TTo> Cast<TFrom,TTo>(Span<TFrom> span) where TFrom : struct where TTo : struct;
static member Cast : Span<'From (requires 'From : struct)> -> Span<'o (requires 'o : struct)> (requires 'From : struct and 'o : struct)
[<System.Runtime.CompilerServices.OverloadResolutionPriority(1)>]
static member Cast : Span<'From (requires 'From : struct)> -> Span<'o (requires 'o : struct)> (requires 'From : struct and 'o : struct)
Public Shared Function Cast(Of TFrom As Structure, TTo As Structure) (span As Span(Of TFrom)) As Span(Of TTo)
類型參數
- TFrom
來源的範圍類型。
- TTo
目標跨度的類型。
參數
- span
- Span<TFrom>
要轉換的原始切片。
傳回
改建後的橋段。
- 屬性
例外狀況
TFrom 或 TTo 包含受管理物件參考。
Length新 ReadOnlySpan<T> 的性質將大於 MaxValue。
備註
兩者都TFromTTo無法包含受管理物件的參考。 該 Cast 方法會在執行時執行此檢查,若檢查失敗則拋 ArgumentException 出。
若兩種鑄造的大小不同,鑄造會合併或拆分數值,導致長度改變。
例如,若 TFrom 是 ,則Int64包含單一值 0x0100001111110F0F,且 ReadOnlySpan<Int64> 為 TTo,結果Int32ReadOnlySpan<Int32>包含兩個值。 這些值在小端序架構(如 x86)上0x11110F0F且0x01000011。 在大端序架構中,兩個值的順序相反,即 0x01000011,接著是 0x11110F0F。
再舉一個例子,若 TFrom , Int32包含 ReadOnlySpan<Int32> 1、2 和 3 的值,且 TTo , Int64則結果 ReadOnlySpan<Int64> 包含單一值:小端結構上的 0x0000000200000001 與大端結構上的 0x0000000100000002。
此方法僅支援支援記憶體存取偏差的平台,或是記憶體區塊以其他方式對齊。