Aracılığıyla paylaş


MemoryMarshal.Cast Yöntem

Tanım

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

Span<TTo>

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 TFromInt64, 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 TFromInt32, 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.

Şunlara uygulanır