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>
- Наследование
- Реализации
-
IEquatable<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>) |
Удаляет все начальные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти. |