Memory<T> Memory<T> Memory<T> Memory<T> Struct

Определение

Представляет непрерывную область памяти.Represents a contiguous region of memory.

generic <typename T>
public value class Memory : IEquatable<Memory<T>>
public struct Memory<T> : IEquatable<Memory<T>>
type Memory<'T> = struct
Public Structure Memory(Of T)
Implements IEquatable(Of Memory(Of T))

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

T

Тип элементов в Memory<T>.The type of items in the Memory<T>.

Наследование
Реализации

Комментарии

Как и Span<T>, Memory<T> представляет непрерывную область памяти.Like Span<T>, Memory<T> represents a contiguous region of memory. Однако в отличие от Span<T>, Memory<T> не является структурой ссылок.Unlike Span<T>, however, Memory<T> is not a ref struct. Это означает, что Memory<T> можно разместить в управляемой куче, в то время как Span<T> не может.This means that Memory<T> can be placed on the managed heap, whereas Span<T> cannot. В результате структура Memory<T> не имеет тех же ограничений, что и экземпляр Span<T>.As a result, the Memory<T> structure does not have the same restrictions as a Span<T> instance. В частности:In particular:

  • Его можно использовать в качестве поля в классе.It can be used as a field in a class.

  • Его можно использовать в границах await и yield.It can be used across await and yield boundaries.

В дополнение к Memory<T> можно использовать System.ReadOnlyMemory<T> для представления неизменяемой памяти или использования только для чтения.In addition to Memory<T>, you can use System.ReadOnlyMemory<T> to represent immutable or read-only memory.

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

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

Создает новый объект Memory<T> по всему указанному массиву.Creates a new Memory<T> object over the entirety of a specified array.

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

Создает объект Memory<T>, который включает определенное число элементов массива, начиная с указанного индекса.Creates a new Memory<T> object that includes a specified number of elements of an array beginning at a specified index.

Свойства

Empty Empty Empty Empty

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

IsEmpty IsEmpty IsEmpty IsEmpty

Определяет, является ли текущий экземпляр пустым.Indicates whether the current instance is empty.

Length Length Length Length

Возвращает количество элементов в текущем экземпляре.Gets the number of items in the current instance.

Span Span Span Span

Возвращает массив из текущего экземпляра.Returns a span from the current instance.

Методы

CopyTo(Memory<T>) CopyTo(Memory<T>) CopyTo(Memory<T>) CopyTo(Memory<T>)

Копирует содержимое объекта Memory<T> в целевой объект Memory<T>.Copies the contents of a Memory<T> object into a destination Memory<T> object.

Equals(Memory<T>) Equals(Memory<T>) Equals(Memory<T>) Equals(Memory<T>)

Определяет, равен ли указанный объект Memory<T> текущему объекту.Determines whether the specified Memory<T> object is equal to the current object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Возвращает хэш-код данного экземпляра.Returns the hash code for this instance.

Pin() Pin() Pin() Pin()

Создает дескриптор для объекта Memory<T>.Creates a handle for the Memory<T> object.

Slice(Int32) Slice(Int32) Slice(Int32) Slice(Int32)

Формирует срез текущей области памяти, начиная с начинается с указанного индекса.Forms a slice out of the current memory that begins at a specified index.

Slice(Int32, Int32) Slice(Int32, Int32) Slice(Int32, Int32) Slice(Int32, Int32)

Формирует срез текущей области памяти, начиная с указанного индекса до указанной длины.Forms a slice out of the current memory starting at a specified index for a specified length.

ToArray() ToArray() ToArray() ToArray()

Копирует содержимое из памяти в новый массив.Copies the contents from the memory into a new array.

ToString() ToString() ToString() ToString()

Возвращает строковое представление конкретного объекта Memory<T>.Returns the string representation of this Memory<T> object.

TryCopyTo(Memory<T>) TryCopyTo(Memory<T>) TryCopyTo(Memory<T>) TryCopyTo(Memory<T>)

Копирует содержимое из памяти в целевой экземпляр Memory<T>.Copies the contents of the memory into a destination Memory<T> instance.

Операторы

Implicit(T[] to Memory<T>) Implicit(T[] to Memory<T>) Implicit(T[] to Memory<T>) Implicit(T[] to Memory<T>)

Определяет неявное преобразование массива в объект Memory<T>.Defines an implicit conversion of an array to a Memory<T> object.

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

Определяет неявное преобразование объекта ArraySegment<T> в объект Memory<T>.Defines an implicit conversion of an ArraySegment<T> object to a Memory<T> object.

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

Определяется неявное преобразование объекта Memory<T> в объект ReadOnlyMemory<T>.Defines an implicit conversion of a Memory<T> object to a ReadOnlyMemory<T> object.

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

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

Удаляет все начальные и конечные вхождения указанного элемента из области памяти.Removes all leading and trailing occurrences of a specified element from a memory region.

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

Удаляет все начальные и конечные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти.Removes all leading and trailing occurrences of a set of elements specified in a read-only span from a memory region.

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

Удаляет все конечные вхождения указанного элемента из области памяти символов.Removes all trailing occurrences of a specified element from a character memory region.

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

Удаляет все конечные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти.Removes all trailing occurrences of a set of elements specified in a read-only span from a memory region.

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

Удаляет все начальные вхождения указанного элемента из области памяти.Removes all leading occurrences of a specified element from a memory region.

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

Удаляет все начальные вхождения набора элементов, указанного в диапазоне только для чтения, из области памяти.Removes all leading occurrences of a set of elements specified in a read-only span from a memory region.

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