MemoryMarshal.Cast Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
Bir ilkel türe ait salt okunur bir aralığı, başka bir ilkel türe ait salt okunur bir yayılmaya atar. |
Cast<TFrom,TTo>(Span<TFrom>) |
Bir ilkel türden bir yayılmayı başka bir ilkel türe yayınlar. |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
- Kaynak:
- MemoryMarshal.cs
- Kaynak:
- MemoryMarshal.cs
- Kaynak:
- MemoryMarshal.cs
Bir ilkel türe ait salt okunur bir aralığı, başka bir ilkel türe ait salt okunur bir yayılmaya atar.
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)
Tür Parametreleri
- TFrom
Kaynak aralığın türü.
- TTo
Hedef aralığın türü.
Parametreler
- span
- ReadOnlySpan<TFrom>
Dönüştürülecek kaynak dilim.
Döndürülenler
Dönüştürülen salt okunur yayılma alanı.
Özel durumlar
TFrom
veya TTo
yönetilen nesne başvuruları içerir.
Length Yeninin ReadOnlySpan<T> özelliği değerini aşacakMaxValue.
Açıklamalar
Ne yönetilen TFrom
nesne başvuruları ne de TTo
içeremez. Cast
yöntemi bu denetimi çalışma zamanında gerçekleştirir ve denetim başarısız olursa atarArgumentException
.
Bu yöntem yalnızca yanlış hizalanmış bellek erişimini destekleyen platformlarda veya bellek bloğu başka yollarla hizalandığında desteklenir.
Şunlara uygulanır
Cast<TFrom,TTo>(Span<TFrom>)
- Kaynak:
- MemoryMarshal.cs
- Kaynak:
- MemoryMarshal.cs
- Kaynak:
- MemoryMarshal.cs
Bir ilkel türden bir yayılmayı başka bir ilkel türe yayınlar.
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)
Tür Parametreleri
- TFrom
Kaynak aralığın türü.
- TTo
Hedef aralığın türü.
Parametreler
- span
- Span<TFrom>
Dönüştürülecek kaynak dilim.
Döndürülenler
Dönüştürülen yayılma alanı.
Özel durumlar
TFrom
veya TTo
yönetilen nesne başvuruları içerir.
Length Yeninin ReadOnlySpan<T> özelliği değerini aşacakMaxValue.
Açıklamalar
Ne yönetilen TFrom
nesne başvuruları ne de TTo
içeremez. Cast
yöntemi bu denetimi çalışma zamanında gerçekleştirir ve denetim başarısız olursa atarArgumentException
.
İki türün boyutları farklıysa, atama değerleri birleştirir veya böler ve bu da uzunluk değişikliğine yol açar.
Örneğin, ise TFrom
Int64, ReadOnlySpan<Int64>
0x0100001111110F0F ve olan Int32tek bir değer içerir ve TTo
sonuçta ReadOnlySpan<Int32>
iki değer bulunur. Değerler 0x11110F0F ve x86 gibi küçük bir endian mimari üzerinde 0x01000011. Büyük endian mimaride iki değerin sırası tersine çevrilir, örneğin 0x01000011 ve ardından 0x11110F0F.
Başka bir örnek olarak, ise TFrom
Int32, ReadOnlySpan<Int32>
1, 2 ve 3 değerlerini içerir ve TTo
ise Int64, sonuçta ReadOnlySpan<Int64>
tek bir değer bulunur: küçük endian mimaride 0x0000000200000001 ve büyük endian mimaride 0x0000000100000002.
Bu yöntem yalnızca yanlış hizalanmış bellek erişimini destekleyen platformlarda veya bellek bloğu başka yollarla hizalandığında desteklenir.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin