MemoryMarshal.Cast Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| Cast<TFrom,TTo>(ReadOnlySpan<TFrom>) |
Omvandlar ett skrivskyddat spann av en primitiv typ till ett skrivskyddat spann av en annan primitiv typ. |
| Cast<TFrom,TTo>(Span<TFrom>) |
Kastar ett spann av en primitiv typ till ett spann av en annan primitiv typ. |
Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)
- Källa:
- MemoryMarshal.cs
- Källa:
- MemoryMarshal.cs
- Källa:
- MemoryMarshal.cs
- Källa:
- MemoryMarshal.cs
- Källa:
- MemoryMarshal.cs
Omvandlar ett skrivskyddat spann av en primitiv typ till ett skrivskyddat spann av en annan primitiv typ.
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)
Typparametrar
- TFrom
Typ av källintervall.
- TTo
Typ av målintervall.
Parametrar
- span
- ReadOnlySpan<TFrom>
Källsegmentet som ska konverteras.
Returer
Det konverterade skrivskyddade intervallet.
Undantag
TFrom eller TTo innehåller referenser till hanterade objekt.
Egenskapen Length för den nya ReadOnlySpan<T> skulle överskrida MaxValue.
Kommentarer
Varken TFrom eller TTo kan innehålla referenser för hanterade objekt. Metoden Cast utför den här kontrollen vid körning och genererar ArgumentException om kontrollen misslyckas.
Den här metoden stöds endast på plattformar som stöder feljusterad minnesåtkomst eller när minnesblocket justeras på annat sätt.
Gäller för
Cast<TFrom,TTo>(Span<TFrom>)
- Källa:
- MemoryMarshal.cs
- Källa:
- MemoryMarshal.cs
- Källa:
- MemoryMarshal.cs
- Källa:
- MemoryMarshal.cs
- Källa:
- MemoryMarshal.cs
Kastar ett spann av en primitiv typ till ett spann av en annan primitiv typ.
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)
Typparametrar
- TFrom
Typ av källintervall.
- TTo
Typ av målintervall.
Parametrar
- span
- Span<TFrom>
Källsegmentet som ska konverteras.
Returer
Det konverterade intervallet.
- Attribut
Undantag
TFrom eller TTo innehåller referenser till hanterade objekt.
Egenskapen Length för den nya ReadOnlySpan<T> skulle överskrida MaxValue.
Kommentarer
Varken TFrom eller TTo kan innehålla referenser för hanterade objekt. Metoden Cast utför den här kontrollen vid körning och genererar ArgumentException om kontrollen misslyckas.
Om storleken på de två typerna är olika kombinerar eller delar cast-värdena, vilket leder till en ändring i längd.
Om är TFromInt64 innehåller till exempel ReadOnlySpan<Int64> ett enda värde, 0x0100001111110F0F och TTo är Int32, innehåller resultatet ReadOnlySpan<Int32> två värden. Värdena är 0x11110F0F och 0x01000011 på en lite endiansk arkitektur, till exempel x86. I en stor endiansk arkitektur omvänds ordningen på de två värdena, d.v.s. 0x01000011 följt av 0x11110F0F.
Som ett annat exempel, om TFrom är Int32, ReadOnlySpan<Int32> innehåller värdena 1, 2 och 3, och TTo är Int64, innehåller resultatet ReadOnlySpan<Int64> ett enda värde: 0x0000000200000001 på en lite endiansk arkitektur och 0x0000000100000002 på en stor endiansk arkitektur.
Den här metoden stöds endast på plattformar som stöder feljusterad minnesåtkomst eller när minnesblocket justeras på annat sätt.