Freigeben über


Memory<T> Struktur

Definition

Stellt einen zusammenhängende Bereich des Speichers dar.

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)

Typparameter

T

Der Typ der Elemente im Memory<T>.

Vererbung
Memory<T>
Implementiert

Hinweise

Wie , Span<T>Memory<T> stellt eine zusammenhängende Region des Speichers dar. Im Gegensatz Span<T>dazu ist jedoch Memory<T> keine Ref-Struktur. Dies bedeutet, dass auf Memory<T> dem verwalteten Heap platziert werden kann, während Span<T> dies nicht möglich ist. Dadurch hat die Memory<T> Struktur keine gleichen Einschränkungen wie eine Span<T> Instanz. Dies gilt insbesondere für:

  • Es kann als Feld in einer Klasse verwendet werden.

  • Es kann über await und yield Grenzen hinweg verwendet werden.

Darüber hinaus Memory<T>können System.ReadOnlyMemory<T> Sie den unveränderlichen oder schreibgeschützten Arbeitsspeicher darstellen.

Konstruktoren

Memory<T>(T[])

Erstellt ein neues Memory<T>-Objekt über das gesamte angegebene Array.

Memory<T>(T[], Int32, Int32)

Erstellt ein neues Memory<T>-Objekt, das eine angegebene Anzahl von Elementen aus einem Array enthält. Dabei wird an einem angegebenen Index begonnen.

Eigenschaften

Empty

Gibt ein leeres Memory<T>-Objekt zurück.

IsEmpty

Gibt an, ob die aktuelle Instanz leer ist.

Length

Ruft die Anzahl der Elemente in der aktuellen Instanz ab.

Span

Gibt eine Span-Element der aktuellen Instanz zurück.

Methoden

CopyTo(Memory<T>)

Kopiert die Inhalte eines Memory<T>-Objekts in ein Memory<T>-Zielobjekt.

Equals(Memory<T>)

Bestimmt, ob das angegebene Memory<T>-Objekt mit dem aktuellen Objekt identisch ist.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

Pin()

Erstellt ein Handle für das Memory<T>-Objekt.

Slice(Int32)

Bildet einen Slice aus dem aktuellen Speicher, das an einem angegebenen Index beginnt.

Slice(Int32, Int32)

Bildet einen Slice aus dem aktuellen Speicher. Dabei wird an einem angegebenen Index für eine angegebene Länge begonnen.

ToArray()

Kopiert die Inhalte aus dem Speicher in ein neues Array.

ToString()

Gibt die Zeichenfolgendarstellung dieses Memory<T>-Objekts zurück.

TryCopyTo(Memory<T>)

Kopiert die Inhalte des Speichers in eine Ziel-Memory<T>-Instanz.

Operatoren

Implicit(ArraySegment<T> to Memory<T>)

Definiert eine implizite Konvertierung eines ArraySegment<T>-Objekts in ein Memory<T>-Objekt.

Implicit(Memory<T> to ReadOnlyMemory<T>)

Definiert eine implizite Konvertierung eines Memory<T>-Objekts in ein ReadOnlyMemory<T>.

Implicit(T[] to Memory<T>)

Definiert eine implizite Konvertierung eines Arrays in ein Memory<T>-Objekt.

Erweiterungsmethoden

Trim<T>(Memory<T>, T)

Entfernt alle führenden und nachfolgenden Vorkommen eines angegebenen Elements aus einem Speicherbereich.

Trim<T>(Memory<T>, ReadOnlySpan<T>)

Entfernt alle führenden und nachfolgenden Vorkommen einer Reihe von Elementen, die in einer schreibgeschützten Spanne angegeben sind, aus einem Speicherbereich.

TrimEnd<T>(Memory<T>, T)

Entfernt alle nachfolgenden Vorkommen eines angegebenen Elements aus einem Zeichenspeicherbereich.

TrimEnd<T>(Memory<T>, ReadOnlySpan<T>)

Entfernt alle nachfolgenden Vorkommen einer Reihe von Elementen, die in einer schreibgeschützten Spanne angegeben sind, aus einem Speicherbereich.

TrimStart<T>(Memory<T>, T)

Entfernt alle führenden Vorkommen eines angegebenen Elements aus einem Speicherbereich.

TrimStart<T>(Memory<T>, ReadOnlySpan<T>)

Entfernt alle führenden Vorkommen einer Reihe von Elementen, die in einer schreibgeschützten Spanne angegeben sind, aus einem Speicherbereich.

Gilt für

Siehe auch