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