MemoryMarshal.Cast 方法

定義

多載

名稱 Description
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

將一個原始類型的唯讀張成另一個原始類型的唯讀張成。

Cast<TFrom,TTo>(Span<TFrom>)

將一個原始類型的張成鑄造到另一個原始類型的張成。

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

來源:
MemoryMarshal.cs
來源:
MemoryMarshal.cs
來源:
MemoryMarshal.cs
來源:
MemoryMarshal.cs
來源:
MemoryMarshal.cs

將一個原始類型的唯讀張成另一個原始類型的唯讀張成。

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>

要轉換的原始切片。

傳回

轉換後的唯讀範圍。

例外狀況

TFromTTo 包含受管理物件參考。

備註

兩者都TFromTTo無法包含受管理物件的參考。 該 Cast 方法會在執行時執行此檢查,若檢查失敗則拋 ArgumentException 出。

此方法僅支援支援記憶體存取偏差的平台,或是記憶體區塊以其他方式對齊。

適用於

Cast<TFrom,TTo>(Span<TFrom>)

來源:
MemoryMarshal.cs
來源:
MemoryMarshal.cs
來源:
MemoryMarshal.cs
來源:
MemoryMarshal.cs
來源:
MemoryMarshal.cs

將一個原始類型的張成鑄造到另一個原始類型的張成。

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>

要轉換的原始切片。

傳回

Span<TTo>

改建後的橋段。

屬性

例外狀況

TFromTTo 包含受管理物件參考。

備註

兩者都TFromTTo無法包含受管理物件的參考。 該 Cast 方法會在執行時執行此檢查,若檢查失敗則拋 ArgumentException 出。

若兩種鑄造的大小不同,鑄造會合併或拆分數值,導致長度改變。

例如,若 TFrom 是 ,則Int64包含單一值 0x0100001111110F0F,且 ReadOnlySpan<Int64>TTo,結果Int32ReadOnlySpan<Int32>包含兩個值。 這些值在小端序架構(如 x86)上0x11110F0F且0x01000011。 在大端序架構中,兩個值的順序相反,即 0x01000011,接著是 0x11110F0F。

再舉一個例子,若 TFromInt32包含 ReadOnlySpan<Int32> 1、2 和 3 的值,且 TToInt64則結果 ReadOnlySpan<Int64> 包含單一值:小端結構上的 0x0000000200000001 與大端結構上的 0x0000000100000002。

此方法僅支援支援記憶體存取偏差的平台,或是記憶體區塊以其他方式對齊。

適用於