Memory<T> Структура

Определение

Представляет непрерывную область памяти.Represents a contiguous region of memory.

generic <typename T>
public value class Memory : IEquatable<Memory<T>>
public struct Memory<T> : IEquatable<Memory<T>>
type Memory<'T> = struct
Public Structure Memory(Of T)
Implements IEquatable(Of Memory(Of T))

Параметры типа

T

Тип элементов в Memory<T>.The type of items in the Memory<T>.

Наследование
Memory<T>
Реализации

Комментарии

Как и Span<T>, Memory<T> представляет непрерывную область памяти.Like Span<T>, Memory<T> represents a contiguous region of memory. Однако в отличие от Span<T>, Memory<T> не является структурой ссылок.Unlike Span<T>, however, Memory<T> is not a ref struct. Это означает, что Memory<T> можно разместить в управляемой куче, в то время как Span<T> не может.This means that Memory<T> can be placed on the managed heap, whereas Span<T> cannot. В результате структура Memory<T> не имеет тех же ограничений, что и экземпляр Span<T>.As a result, the Memory<T> structure does not have the same restrictions as a Span<T> instance. В частности:In particular:

  • Его можно использовать в качестве поля в классе.It can be used as a field in a class.

  • Его можно использовать в границах await и yield.It can be used across await and yield boundaries.

В дополнение к Memory<T> можно использовать System.ReadOnlyMemory<T> для представления неизменяемой памяти или использования только для чтения.In addition to Memory<T>, you can use System.ReadOnlyMemory<T> to represent immutable or read-only memory.

Конструкторы

Memory<T>(T[])

Создает новый объект Memory<T> по всему указанному массиву.Creates a new Memory<T> object over the entirety of a specified array.

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

Создает объект Memory<T>, который включает определенное число элементов массива, начиная с указанного индекса.Creates a new Memory<T> object that includes a specified number of elements of an array beginning at a specified index.

Свойства

Empty

Возвращает пустой объект Memory<T>.Returns an empty Memory<T> object.

IsEmpty

Определяет, является ли текущий экземпляр пустым.Indicates whether the current instance is empty.

Length

Возвращает количество элементов в текущем экземпляре.Gets the number of items in the current instance.

Span

Возвращает массив из текущего экземпляра.Returns a span from the current instance.

Методы

CopyTo(Memory<T>)

Копирует содержимое объекта Memory<T> в целевой объект Memory<T>.Copies the contents of a Memory<T> object into a destination Memory<T> object.

Equals(Memory<T>)

Определяет, равен ли указанный объект Memory<T> текущему объекту.Determines whether the specified Memory<T> object is equal to the current object.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

GetHashCode()

Возвращает хэш-код данного экземпляра.Returns the hash code for this instance.

Pin()

Создает дескриптор для объекта Memory<T>.Creates a handle for the Memory<T> object.

Slice(Int32)

Формирует срез текущей области памяти, начиная с начинается с указанного индекса.Forms a slice out of the current memory that begins at a specified index.

Slice(Int32, Int32)

Формирует срез текущей области памяти, начиная с указанного индекса до указанной длины.Forms a slice out of the current memory starting at a specified index for a specified length.

ToArray()

Копирует содержимое из памяти в новый массив.Copies the contents from the memory into a new array.

ToString()

Возвращает строковое представление конкретного объекта Memory<T>.Returns the string representation of this Memory<T> object.

TryCopyTo(Memory<T>)

Копирует содержимое из памяти в целевой экземпляр Memory<T>.Copies the contents of the memory into a destination Memory<T> instance.

Операторы

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

Определяет неявное преобразование объекта ArraySegment<T> в объект Memory<T>.Defines an implicit conversion of an ArraySegment<T> object to a Memory<T> object.

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

Определяется неявное преобразование объекта Memory<T> в объект ReadOnlyMemory<T>.Defines an implicit conversion of a Memory<T> object to a ReadOnlyMemory<T> object.

Implicit(T[] to Memory<T>)

Определяет неявное преобразование массива в объект Memory<T>.Defines an implicit conversion of an array to a Memory<T> object.

Методы расширения

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

Удаляет все начальные и конечные вхождения указанного элемента из области памяти.Removes all leading and trailing occurrences of a specified element from a memory region.

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

Удаляет все начальные и конечные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти.Removes all leading and trailing occurrences of a set of elements specified in a read-only span from a memory region.

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

Удаляет все конечные вхождения указанного элемента из области памяти символов.Removes all trailing occurrences of a specified element from a character memory region.

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

Удаляет все конечные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти.Removes all trailing occurrences of a set of elements specified in a read-only span from a memory region.

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

Удаляет все начальные вхождения указанного элемента из области памяти.Removes all leading occurrences of a specified element from a memory region.

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

Удаляет все начальные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти.Removes all leading occurrences of a set of elements specified in a read-only span from a memory region.

Применяется к