Memory<T> Struktura
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje ciągły region pamięci.
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 elementów w obiekcie Memory<T>.
- Dziedziczenie
- Implementuje
-
IEquatable<Memory<T>>
Uwagi
Podobnie jak Span<T>, Memory<T>
reprezentuje ciągły region pamięci. Jednak w przeciwieństwie do Span<T>metody Memory<T>
nie jest strukturą ref. Oznacza to, że Memory<T>
można je umieścić na zarządzanym stercie, natomiast Span<T> nie może. W związku z tym Memory<T>
struktura nie ma takich samych ograniczeń jak Span<T> wystąpienie. W szczególności:
Może być używany jako pole w klasie.
Może być używany przez
await
granice iyield
.
Oprócz Memory<T>
programu można użyć System.ReadOnlyMemory<T> polecenia do reprezentowania niezmiennej lub tylko do odczytu pamięci.
Konstruktory
Memory<T>(T[]) |
Tworzy nowy Memory<T> obiekt w całości określonej tablicy. |
Memory<T>(T[], Int32, Int32) |
Tworzy nowy Memory<T> obiekt zawierający określoną liczbę elementów tablicy rozpoczynających się od określonego indeksu. |
Właściwości
Empty |
Zwraca pusty Memory<T> obiekt. |
IsEmpty |
Wskazuje, czy bieżące wystąpienie jest puste. |
Length |
Pobiera liczbę elementów w bieżącym wystąpieniu. |
Span |
Zwraca zakres z bieżącego wystąpienia. |
Metody
CopyTo(Memory<T>) |
Kopiuje zawartość Memory<T> obiektu do obiektu docelowego Memory<T> . |
Equals(Memory<T>) |
Określa, czy określony Memory<T> obiekt jest równy bieżącemu obiektowi. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. |
GetHashCode() |
Zwraca wartość skrótu dla tego wystąpienia. |
Pin() |
Tworzy uchwyt dla Memory<T> obiektu. |
Slice(Int32) |
Tworzy wycinkę bieżącej pamięci, która rozpoczyna się od określonego indeksu. |
Slice(Int32, Int32) |
Tworzy wycinkę bieżącej pamięci rozpoczynającej się od określonego indeksu dla określonej długości. |
ToArray() |
Kopiuje zawartość z pamięci do nowej tablicy. |
ToString() |
Zwraca reprezentację ciągu tego Memory<T> obiektu. |
TryCopyTo(Memory<T>) |
Kopiuje zawartość pamięci do wystąpienia docelowego Memory<T> . |
Operatory
Implicit(ArraySegment<T> to Memory<T>) |
Definiuje niejawną konwersję ArraySegment<T>Memory<T> obiektu na obiekt. |
Implicit(Memory<T> to ReadOnlyMemory<T>) |
Definiuje niejawną konwersję Memory<T>ReadOnlyMemory<T> obiektu na obiekt. |
Implicit(T[] to Memory<T>) |
Definiuje niejawną konwersję Memory<T> tablicy na obiekt. |
Metody rozszerzania
Trim<T>(Memory<T>, T) |
Usuwa wszystkie wiodące i końcowe wystąpienia określonego elementu z regionu pamięci. |
Trim<T>(Memory<T>, ReadOnlySpan<T>) |
Usuwa wszystkie wiodące i końcowe wystąpienia zestawu elementów określonych w zakresie tylko do odczytu z regionu pamięci. |
TrimEnd<T>(Memory<T>, T) |
Usuwa wszystkie końcowe wystąpienia określonego elementu z regionu pamięci znaków. |
TrimEnd<T>(Memory<T>, ReadOnlySpan<T>) |
Usuwa wszystkie końcowe wystąpienia zestawu elementów określonych w zakresie tylko do odczytu z regionu pamięci. |
TrimStart<T>(Memory<T>, T) |
Usuwa wszystkie wiodące wystąpienia określonego elementu z regionu pamięci. |
TrimStart<T>(Memory<T>, ReadOnlySpan<T>) |
Usuwa wszystkie wiodące wystąpienia zestawu elementów określonych w zakresie tylko do odczytu z regionu pamięci. |