Бөлісу құралы:


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

Определение

Представляет непрерывную область памяти.

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)

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

T

Тип элементов в .Memory<T>

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

Комментарии

Как Span<T>и , Memory<T> представляет непрерывную область памяти. В отличие от Span<T>ссылок, однако, Memory<T> не является структурой ссылок. Это означает, что Memory<T> можно поместить в управляемую кучу, в то время как Span<T> невозможно. В результате структура не имеет тех же ограничений, Memory<T> что Span<T> и экземпляр. В частности:

  • Его можно использовать в качестве поля в классе.

  • Его можно использовать по всем await границам.yield

Кроме того Memory<T>, можно использовать для System.ReadOnlyMemory<T> представления неизменяемой или доступной только для чтения памяти.

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

Memory<T>(T[])

Создает новый объект Memory<T> по всему указанному массиву.

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

Создает объект Memory<T>, который включает определенное число элементов массива, начиная с указанного индекса.

Свойства

Empty

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

IsEmpty

Определяет, является ли текущий экземпляр пустым.

Length

Возвращает количество элементов в текущем экземпляре.

Span

Возвращает массив из текущего экземпляра.

Методы

CopyTo(Memory<T>)

Копирует содержимое объекта Memory<T> в целевой объект Memory<T>.

Equals(Memory<T>)

Определяет, равен ли указанный объект Memory<T> текущему объекту.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

GetHashCode()

Возвращает хэш-код данного экземпляра.

Pin()

Создает дескриптор для объекта Memory<T>.

Slice(Int32)

Формирует срез текущей области памяти, начиная с начинается с указанного индекса.

Slice(Int32, Int32)

Формирует срез текущей области памяти, начиная с указанного индекса до указанной длины.

ToArray()

Копирует содержимое из памяти в новый массив.

ToString()

Возвращает строковое представление конкретного объекта Memory<T>.

TryCopyTo(Memory<T>)

Копирует содержимое из памяти в целевой экземпляр Memory<T>.

Операторы

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

Определяет неявное преобразование объекта ArraySegment<T> в объект Memory<T>.

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

Определяется неявное преобразование объекта Memory<T> в объект ReadOnlyMemory<T>.

Implicit(T[] to Memory<T>)

Определяет неявное преобразование массива в объект Memory<T>.

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

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

Удаляет все начальные и конечные вхождения указанного элемента из области памяти.

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

Удаляет все начальные и конечные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти.

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

Удаляет все конечные вхождения указанного элемента из области памяти символов.

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

Удаляет все конечные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти.

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

Удаляет все начальные вхождения указанного элемента из области памяти.

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

Удаляет все начальные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти.

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

См. также раздел