Edit

Share via


ReadOnlyMemory<T> Struct

Definition

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Represents a contiguous region of memory, similar to ReadOnlySpan<T>. Unlike ReadOnlySpan<T>, it is not a byref-like type.

C#
public readonly struct ReadOnlyMemory<T> : IEquatable<ReadOnlyMemory<T>>
C#
public readonly struct ReadOnlyMemory<T>

Type Parameters

T

The object type from which the contiguous region of memory will be read.

Inheritance
ReadOnlyMemory<T>
Implements

Constructors

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

Creates a new memory region over the portion of the target array beginning at a specified position and including a specified number of elements.

ReadOnlyMemory<T>(T[])

Creates a new memory region over the entirety of the target array.

Properties

Empty

Gets an empty ReadOnlyMemory<T>.

IsEmpty

Gets a value that indicates whether this read-only memory region is empty.

Length

Gets the number of items in the memory region.

Span

Gets a span from the memory region.

Methods

CopyTo(Memory<T>)

Copies the contents of the read-only memory region into a destination memory region.

Equals(Object)

Determines whether the specified object is equal to the current read-only memory region.

Equals(ReadOnlyMemory<T>)

Determines whether the current instance and a specified ReadOnlyMemory<T> objects are equal.

GetHashCode()

Returns the hash code for this ReadOnlyMemory<T>.

Pin()

Creates a handle for the memory.

Slice(Int32, Int32)

Forms a slice out of the given memory region starting at start position for length elements.

Slice(Int32)

Forms a slice out of the given memory region, beginning at a specified position and continuing to its end.

ToArray()

Copies the contents from the memory region into a new array.

ToString()

Returns the string representation of this read-only memory instance.

TryCopyTo(Memory<T>)

Tries to copy the contents of the readonly-only memory into the destination and returns a value that indicates whether the copy operation succeeded.

Operators

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

Defines an implicit conversion of a ArraySegment<T> to a ReadOnlyMemory<T>.

Implicit(T[] to ReadOnlyMemory<T>)

Defines an implicit conversion of an array to a ReadOnlyMemory<T>.

Extension Methods

Trim<T>(ReadOnlyMemory<T>, T)

Removes all leading and trailing occurrences of a specified element from a read-only memory region.

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

Removes all leading and trailing occurrences of a set of elements specified in a read-only span from a read-only memory region.

TrimEnd<T>(ReadOnlyMemory<T>, T)

Removes all trailing occurrences of a specified element from a read-only memory region.

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

Removes all trailing occurrences of a set of elements specified in a read-only span from a read-only memory region.

TrimStart<T>(ReadOnlyMemory<T>, T)

Removes all leading occurrences of a specified element from a memory region.

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

Removes all leading occurrences of a set of elements specified in a read-only span from a memory region.

Applies to

Product Versions
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.0 (package-provided), 2.1

See also