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
| Name | Description |
|---|---|
| Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
Bir ilkel türe ait salt okunur bir yayılmayı başka bir temel türe ait salt okunur bir yayılmaya yayınlar. |
| Cast<TFrom,TTo>(Span<TFrom>) |
Bir ilkel türde 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
- Kaynak:
- MemoryMarshal.cs
- Kaynak:
- MemoryMarshal.cs
Bir ilkel türe ait salt okunur bir yayılmayı başka bir temel türe ait salt okunur bir yayılmaya yayınlar.
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 yayılma alanının türü.
- TTo
Hedef yayılma alanını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ı içeremez TTo .
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
- Kaynak:
- MemoryMarshal.cs
- Kaynak:
- MemoryMarshal.cs
Bir ilkel türde 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;
[System.Runtime.CompilerServices.OverloadResolutionPriority(1)]
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)
[<System.Runtime.CompilerServices.OverloadResolutionPriority(1)>]
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 yayılma alanının türü.
- TTo
Hedef yayılma alanını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ı.
- Öznitelikler
Ö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ı içeremez TTo .
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 TFromInt64, ReadOnlySpan<Int64> 0x0100001111110F0F tek bir değer içerir ve TTo sonucu Int32ReadOnlySpan<Int32> iki değer içerir. Değerler 0x11110F0F ve x86 gibi küçük bir endian mimaride 0x01000011. Büyük bir endian mimaride iki değerin sırası tersine çevrilir, örneğin 0x01000011 ve ardından 0x11110F0F.
Başka bir örnek olarak, ise TFromInt32 , ReadOnlySpan<Int32> 1, 2 ve 3 değerlerini içerir ve TTo şöyledirInt64ReadOnlySpan<Int64>: 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.