ReadOnlyMemory<T> 结构

定义

表示相邻的内存区域,类似于 ReadOnlySpan<T>。 与 ReadOnlySpan<T> 不同,它不是类似 byref 的类型。

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

类型参数

T

将从中读取内存连续区域的对象类型。

继承
ReadOnlyMemory<T>
实现

构造函数

ReadOnlyMemory<T>(T[])

在整个目标数组上创建新的内存区域。

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

在目标数组的一部分上创建新的内存区域,从指定位置开始并包含指定数量的元素。

属性

Empty

获取空 ReadOnlyMemory<T>

IsEmpty

获取一个指示此只读内存区域是否为空的值。

Length

获取内存区域中的项数。

Span

从内存区域获取跨度。

方法

CopyTo(Memory<T>)

将只读内存区域的内容复制到目标内存区域。

Equals(Object)

确定指定的对象是否等于当前只读内存区域。

Equals(ReadOnlyMemory<T>)

确定当前实例与指定的 ReadOnlyMemory<T> 对象是否相等。

GetHashCode()

返回此 ReadOnlyMemory<T> 的哈希代码。

Pin()

为内存创建句柄。

Slice(Int32)

从给定的内存区域形成切片,从指定位置开始,然后继续到其末尾。

Slice(Int32, Int32)

length 元素的 start 位置开始,在给定内存区域外形成一个切片。

ToArray()

将此内存区域中的内容复制到新数组中。

ToString()

返回此只读内存实例的字符串表示形式。

TryCopyTo(Memory<T>)

尝试将只读内存的内容复制到目标中,并返回表示复制操作是否成功的值。

运算符

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

定义 ArraySegment<T>ReadOnlyMemory<T> 的隐式转换。

Implicit(T[] to ReadOnlyMemory<T>)

定义数组到 ReadOnlyMemory<T> 的隐式转换。

扩展方法

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

删除只读内存区域中的指定元素的所有前导和尾随出现次数。

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

从只读内存区域中删除在只读跨度中指定的一组元素的所有前导和尾随出现次数。

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

删除只读内存区域中的指定元素的所有尾随出现次数。

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

从只读内存区域中删除在只读跨度中指定的一组元素的所有尾随出现次数。

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

删除内存区域中的指定元素的所有前导出现次数。

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

从内存区域中删除在只读跨度中指定的一组元素的所有前导出现次数。

适用于

另请参阅