Memory<T> Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje souvislou oblast paměti.
generic <typename T>
public value class Memory : IEquatable<Memory<T>>
generic <typename T>
public value class Memory
public readonly struct Memory<T> : IEquatable<Memory<T>>
public readonly struct Memory<T>
type Memory<'T> = struct
Public Structure Memory(Of T)
Implements IEquatable(Of Memory(Of T))
Public Structure Memory(Of T)
Parametry typu
- T
Typ položek v sadě Memory<T>.
- Dědičnost
- Implementuje
-
IEquatable<Memory<T>>
Poznámky
Podobně jako Span<T>, Memory<T> představuje souvislou oblast paměti. Na rozdíl od Span<T>však Memory<T> není ref struktura. To znamená, že Memory<T> lze umístit na spravovanou haldu, zatímco Span<T> nemůže. V důsledku toho Memory<T> struktura nemá stejná omezení jako Span<T> instance. Zejména jde o toto:
Dá se použít jako pole ve třídě.
Dá se použít přes
awaithranice.yield
Kromě Memory<T>toho můžete použít System.ReadOnlyMemory<T> k reprezentaci neměnné nebo jen pro čtení paměti.
Konstruktory
| Name | Description |
|---|---|
| Memory<T>(T[], Int32, Int32) |
Vytvoří nový Memory<T> objekt, který obsahuje zadaný počet prvků pole začínající na zadaném indexu. |
| Memory<T>(T[]) |
Vytvoří nový Memory<T> objekt po celou dobu zadaného pole. |
Vlastnosti
| Name | Description |
|---|---|
| Empty |
Vrátí prázdný Memory<T> objekt. |
| IsEmpty |
Určuje, zda je aktuální instance prázdná. |
| Length |
Získá počet položek v aktuální instanci. |
| Span |
Vrátí rozsah z aktuální instance. |
Metody
| Name | Description |
|---|---|
| CopyTo(Memory<T>) |
Zkopíruje obsah objektu Memory<T> do cílového Memory<T> objektu. |
| Equals(Memory<T>) |
Určuje, zda je zadaný Memory<T> objekt roven aktuálnímu objektu. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. |
| Pin() |
Vytvoří popisovač objektu Memory<T> . |
| Slice(Int32, Int32) |
Vytvoří řez z aktuální paměti počínaje zadaným indexem pro zadanou délku. |
| Slice(Int32) |
Vytvoří řez z aktuální paměti, která začíná na zadaném indexu. |
| ToArray() |
Zkopíruje obsah z paměti do nového pole. |
| ToString() |
Vrátí řetězcovou reprezentaci tohoto Memory<T> objektu. |
| TryCopyTo(Memory<T>) |
Zkopíruje obsah paměti do cílové Memory<T> instance. |
Operátory
| Name | Description |
|---|---|
| Implicit(ArraySegment<T> to Memory<T>) |
Definuje implicitní převod objektu ArraySegment<T>Memory<T> na objekt. |
| Implicit(Memory<T> to ReadOnlyMemory<T>) |
Definuje implicitní převod objektu Memory<T>ReadOnlyMemory<T> na objekt. |
| Implicit(T[] to Memory<T>) |
Definuje implicitní převod pole na Memory<T> objekt. |
Metody rozšíření
| Name | Description |
|---|---|
| Trim<T>(Memory<T>, ReadOnlySpan<T>) |
Odebere všechny počáteční a koncové výskyty sady prvků zadaných v rozsahu jen pro čtení z oblasti paměti. |
| Trim<T>(Memory<T>, T) |
Odebere všechny počáteční a koncové výskyty zadaného prvku z oblasti paměti. |
| TrimEnd<T>(Memory<T>, ReadOnlySpan<T>) |
Odebere všechny koncové výskyty sady prvků zadaných v rozsahu jen pro čtení z oblasti paměti. |
| TrimEnd<T>(Memory<T>, T) |
Odebere všechny koncové výskyty zadaného prvku z oblasti paměti znaků. |
| TrimStart<T>(Memory<T>, ReadOnlySpan<T>) |
Odebere všechny počáteční výskyty sady prvků zadaných v rozsahu jen pro čtení z oblasti paměti. |
| TrimStart<T>(Memory<T>, T) |
Odebere všechny počáteční výskyty zadaného prvku z oblasti paměti. |