MemoryMarshal.Cast メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
1 つのプリミティブ型の読み取り専用スパンを、別のプリミティブ型の読み取り専用スパンにキャストします。 |
Cast<TFrom,TTo>(Span<TFrom>) |
1 つのプリミティブ型のスパンを、別のプリミティブ型のスパンにキャストします。 |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
- ソース:
- MemoryMarshal.cs
- ソース:
- MemoryMarshal.cs
- ソース:
- MemoryMarshal.cs
1 つのプリミティブ型の読み取り専用スパンを、別のプリミティブ型の読み取り専用スパンにキャストします。
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
には、マネージド オブジェクト参照が含まれます。
新しい ReadOnlySpan<T> の プロパティが Length を超えますMaxValue。
注釈
また、TTo
マネージド オブジェクト参照を含めることもできますTFrom
。 メソッドは Cast
実行時にこのチェックを実行し、チェックが失敗した場合は をスロー ArgumentException
します。
このメソッドは、メモリ アクセスの不整合をサポートするプラットフォーム、またはメモリ ブロックが他の方法で配置されている場合にのみサポートされます。
適用対象
Cast<TFrom,TTo>(Span<TFrom>)
- ソース:
- MemoryMarshal.cs
- ソース:
- MemoryMarshal.cs
- ソース:
- MemoryMarshal.cs
1 つのプリミティブ型のスパンを、別のプリミティブ型のスパンにキャストします。
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;
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
には、マネージド オブジェクト参照が含まれます。
新しい ReadOnlySpan<T> の プロパティが Length を超えますMaxValue。
注釈
また、TTo
マネージド オブジェクト参照を含めることもできますTFrom
。 メソッドは Cast
実行時にこのチェックを実行し、チェックが失敗した場合は をスロー ArgumentException
します。
2 つの型のサイズが異なる場合、キャストによって値が結合または分割され、長さが変化します。
たとえば、 が Int64の場合、 ReadOnlySpan<Int64>
には 1 つの値 (0x0100001111110F0F) が含まれておりTTo
、 が のInt32場合TFrom
、結果ReadOnlySpan<Int32>
には 2 つの値が含まれます。 値は0x11110F0Fされ、x86 などのリトル エンディアン アーキテクチャで0x01000011されます。 ビッグ エンディアン アーキテクチャでは、2 つの値の順序 (つまり、0x01000011)、その後に 0x11110F0F が逆になります。
もう 1 つの例として、 が Int32のReadOnlySpan<Int32>
場合TFrom
、 には 1、2、3 の値が格納されTTo
、 のInt64結果ReadOnlySpan<Int64>
には 1 つの値が含まれます。リトル エンディアン アーキテクチャでは 0x0000000200000001、ビッグ エンディアン アーキテクチャでは 0x0000000100000002。
このメソッドは、メモリ アクセスの不整合をサポートするプラットフォーム、またはメモリ ブロックが他の方法で配置されている場合にのみサポートされます。
適用対象
.NET