Bagikan melalui


MemoryMarshal.Cast Metode

Definisi

Overload

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

Melemparkan rentang baca-saja dari satu jenis primitif ke rentang baca-saja dari jenis primitif lainnya.

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

Melemparkan rentang satu jenis primitif ke rentang jenis primitif lainnya.

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

Sumber:
MemoryMarshal.cs
Sumber:
MemoryMarshal.cs
Sumber:
MemoryMarshal.cs

Melemparkan rentang baca-saja dari satu jenis primitif ke rentang baca-saja dari jenis primitif lainnya.

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)

Jenis parameter

TFrom

Jenis rentang sumber.

TTo

Jenis rentang target.

Parameter

span
ReadOnlySpan<TFrom>

Ilis sumber yang akan dikonversi.

Mengembalikan

Rentang baca-saja yang dikonversi.

Pengecualian

TFrom atau TTo berisi referensi objek terkelola.

Properti Length baru ReadOnlySpan<T> akan melebihi MaxValue.

Keterangan

Tidak TFrom boleh berisi TTo referensi objek terkelola. Metode Cast melakukan pemeriksaan ini pada runtime dan melempar ArgumentException jika pemeriksaan gagal.

Metode ini hanya didukung pada platform yang mendukung akses memori yang tidak sejajar atau ketika blok memori diselaraskan dengan cara lain.

Berlaku untuk

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

Sumber:
MemoryMarshal.cs
Sumber:
MemoryMarshal.cs
Sumber:
MemoryMarshal.cs

Melemparkan rentang satu jenis primitif ke rentang jenis primitif lainnya.

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)

Jenis parameter

TFrom

Jenis rentang sumber.

TTo

Jenis rentang target.

Parameter

span
Span<TFrom>

Ilis sumber yang akan dikonversi.

Mengembalikan

Span<TTo>

Rentang yang dikonversi.

Pengecualian

TFrom atau TTo berisi referensi objek terkelola.

Properti Length baru ReadOnlySpan<T> akan melebihi MaxValue.

Keterangan

Tidak TFrom boleh berisi TTo referensi objek terkelola. Metode Cast melakukan pemeriksaan ini pada runtime dan melempar ArgumentException jika pemeriksaan gagal.

Jika ukuran kedua jenis berbeda, pemeran menggabungkan atau memisahkan nilai, yang mengarah pada perubahan panjang.

Misalnya, jika TFrom adalah Int64, ReadOnlySpan<Int64> berisi satu nilai, 0x0100001111110F0F, dan TTo adalah Int32, yang dihasilkan ReadOnlySpan<Int32> berisi dua nilai. Nilainya 0x11110F0F dan 0x01000011 pada arsitektur little-endian, seperti x86. Pada arsitektur big-endian, urutan kedua nilai dibalik, yaitu 0x01000011, diikuti oleh 0x11110F0F.

Sebagai contoh lain, jika TFrom adalah Int32, ReadOnlySpan<Int32> berisi nilai 1, 2 dan 3, dan TTo adalah Int64, yang dihasilkan ReadOnlySpan<Int64> berisi satu nilai: 0x0000000200000001 pada arsitektur little-endian dan 0x0000000100000002 pada arsitektur big-endian.

Metode ini hanya didukung pada platform yang mendukung akses memori yang tidak sejajar atau ketika blok memori diselaraskan dengan cara lain.

Berlaku untuk