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 temel türe ait salt okunur bir aralığı, başka bir temel türe ait salt okunur bir yayılmaya atar. |
Cast<TFrom,TTo>(Span<TFrom>) |
Bir ilkel türde bir yayılmayı başka bir temel türe yayınlar. |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
- Kaynak:
- MemoryMarshal.cs
- Kaynak:
- MemoryMarshal.cs
- Kaynak:
- MemoryMarshal.cs
Bir temel türe ait salt okunur bir aralığı, başka bir temel 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
Yönetilen TFrom
nesne başvuruları da TTo
içeremez.
Cast
yöntemi bu denetimi çalışma zamanında gerçekleştirir ve denetim başarısız olursa oluştururArgumentException
.
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ürde bir yayılmayı başka bir temel 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
Yönetilen TFrom
nesne başvuruları da TTo
içeremez.
Cast
yöntemi bu denetimi çalışma zamanında gerçekleştirir ve denetim başarısız olursa oluştururArgumentException
.
İ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 tek bir değer içerir ve TTo
ise Int32, sonuçta ReadOnlySpan<Int32>
iki değer bulunur. Değerler 0x11110F0F ve x86 gibi küçük bir endian mimaride 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, elde edilen ReadOnlySpan<Int64>
tek bir değer içerir: küçük bir 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.