MemoryMarshal.Cast Methode

Definitie

Overloads

Name Description
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

Casts a read-only span of one primitive type to a read-only span of another primitive type.

Cast<TFrom,TTo>(Span<TFrom>)

Cast een span van één primitief type tot een span van een ander primitief type.

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

Bron:
MemoryMarshal.cs
Bron:
MemoryMarshal.cs
Bron:
MemoryMarshal.cs
Bron:
MemoryMarshal.cs
Bron:
MemoryMarshal.cs

Casts a read-only span of one primitive type to a read-only span of another primitive type.

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)

Type parameters

TFrom

Het type bronspanne.

TTo

Het type doelspanne.

Parameters

span
ReadOnlySpan<TFrom>

Het bronsegment dat moet worden geconverteerd.

Retouren

De geconverteerde alleen-lezenspanne.

Uitzonderingen

TFrom of TTo bevat beheerde objectverwijzingen.

De Length eigenschap van de nieuwe ReadOnlySpan<T> zou overschrijden MaxValue.

Opmerkingen

TFrom Noch TTo kan beheerde objectverwijzingen bevatten. De Cast methode voert deze controle uit tijdens runtime en genereert ArgumentException als de controle mislukt.

Deze methode wordt alleen ondersteund op platforms die onjuist uitgelijnde geheugentoegang ondersteunen of wanneer het geheugenblok op een andere manier wordt uitgelijnd.

Van toepassing op

Cast<TFrom,TTo>(Span<TFrom>)

Bron:
MemoryMarshal.cs
Bron:
MemoryMarshal.cs
Bron:
MemoryMarshal.cs
Bron:
MemoryMarshal.cs
Bron:
MemoryMarshal.cs

Cast een span van één primitief type tot een span van een ander primitief type.

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)

Type parameters

TFrom

Het type bronspanne.

TTo

Het type doelspanne.

Parameters

span
Span<TFrom>

Het bronsegment dat moet worden geconverteerd.

Retouren

Span<TTo>

Het geconverteerde bereik.

Kenmerken

Uitzonderingen

TFrom of TTo bevat beheerde objectverwijzingen.

De Length eigenschap van de nieuwe ReadOnlySpan<T> zou overschrijden MaxValue.

Opmerkingen

TFrom Noch TTo kan beheerde objectverwijzingen bevatten. De Cast methode voert deze controle uit tijdens runtime en genereert ArgumentException als de controle mislukt.

Als de grootte van de twee typen verschillend is, combineert of splitst de cast waarden, wat leidt tot een wijziging in lengte.

Als dit bijvoorbeeld TFrom het resultaat is Int64, bevat het ReadOnlySpan<Int64> één waarde, 0x0100001111110F0F en TTo is Int32, bevat het resulterende ReadOnlySpan<Int32> twee waarden. De waarden worden 0x11110F0F en 0x01000011 op een little-endian-architectuur, zoals x86. In een big-endian-architectuur wordt de volgorde van de twee waarden omgekeerd, bijvoorbeeld 0x01000011, gevolgd door 0x11110F0F.

Als een ander voorbeeld: TFromInt32de ReadOnlySpan<Int32> waarden van 1, 2 en 3, en TTo dat is Int64, het resultaat ReadOnlySpan<Int64> bevat één waarde: 0x0000000200000001 op een little-endian-architectuur en 0x0000000100000002 op een big-endian-architectuur.

Deze methode wordt alleen ondersteund op platforms die onjuist uitgelijnde geheugentoegang ondersteunen of wanneer het geheugenblok op een andere manier wordt uitgelijnd.

Van toepassing op