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