MemoryMarshal.Cast Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk