Memory<T> Struktur

Definition

Stellt einen zusammenhängenden Speicherbereich 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 in der Memory<T>.

Vererbung
Memory<T>
Implementiert

Hinweise

Wie Span<T>, Memory<T> stellt einen zusammenhängenden Bereich des Speichers dar. Im Gegensatz dazu Span<T>ist jedoch Memory<T> keine Refstruktur. Dies bedeutet, dass der Memory<T> verwaltete Heap platziert werden kann, während Span<T> dies nicht möglich ist. Daher hat die Memory<T> Struktur nicht die gleichen Einschränkungen wie eine Span<T> Instanz. Dies gilt insbesondere für:

  • Sie kann als Feld in einer Klasse verwendet werden.

  • Sie kann über- und await grenzenübergreifend yield verwendet werden.

Zusätzlich dazu Memory<T>können System.ReadOnlyMemory<T> Sie den unveränderlichen oder schreibgeschützten Speicher darstellen.

Konstruktoren

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

Erstellt ein neues Memory<T> Objekt, das eine bestimmte Anzahl von Elementen eines Arrays enthält, beginnend mit einem angegebenen Index.

Memory<T>(T[])

Erstellt ein neues Memory<T> Objekt über die gesamte Anzahl eines angegebenen Arrays.

Eigenschaften

Name Beschreibung
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 Spanne von der aktuellen Instanz zurück.

Methoden

Name Beschreibung
CopyTo(Memory<T>)

Kopiert den Inhalt eines Memory<T> Objekts in ein Zielobjekt Memory<T> .

Equals(Memory<T>)

Bestimmt, ob das angegebene Memory<T> Objekt dem aktuellen Objekt entspricht.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

GetHashCode()

Gibt den Hashcode für diesen instance zurück.

Pin()

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

Slice(Int32, Int32)

Bildet ein Segment aus dem aktuellen Speicher ab einem angegebenen Index für eine angegebene Länge.

Slice(Int32)

Bildet einen Datenschnitt aus dem aktuellen Speicher, der mit einem angegebenen Index beginnt.

ToArray()

Kopiert den Inhalt aus dem Speicher in ein neues Array.

ToString()

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

TryCopyTo(Memory<T>)

Kopiert den Inhalt des Speichers in eine Zielinstanz Memory<T> .

Operatoren

Name Beschreibung
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> Objekt.

Implicit(T[] to Memory<T>)

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

Erweiterungsmethoden

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

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

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

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

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

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

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

Entfernt alle nachfolgenden Vorkommen eines angegebenen Elements aus einem Zeichenspeicherbereich.

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

Entfernt alle führenden Vorkommen einer Gruppe von Elementen, die in einem schreibgeschützten Bereich von einem Speicherbereich angegeben sind.

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

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

Gilt für:

Weitere Informationen