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[], Int32, Int32)

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

Memory<T>(T[])

Создает новый 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, Int32)

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

Slice(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>, ReadOnlySpan<T>)

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

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

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

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

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

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

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

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

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

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

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

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

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