MemoryMarshal 类

定义

提供与 Memory<T>、、 ReadOnlyMemory<T>Span<T>ReadOnlySpan<T>互操作的方法。

public ref class MemoryMarshal abstract sealed
public static class MemoryMarshal
type MemoryMarshal = class
Public Class MemoryMarshal
继承
MemoryMarshal

方法

AsBytes<T>(ReadOnlySpan<T>)

将一种基元类型 TReadOnlySpan<T> 强制转换为 ReadOnlySpan<Byte>

AsBytes<T>(Span<T>)

将一种基元类型 TSpan<T> 强制转换为 Span<Byte>

AsMemory<T>(ReadOnlyMemory<T>)

通过 Memory<T> 创建 ReadOnlyMemory<T> 实例。

AsRef<T>(ReadOnlySpan<Byte>)

将字节的只读跨度重新解释为对 T 类型结构的只读引用。

AsRef<T>(Span<Byte>)

将字节跨度重新解释为对 T 类型结构的引用。

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

将一种基元类型的只读范围强制转换为另一种基元类型的只读范围。

Cast<TFrom,TTo>(Span<TFrom>)

将一种基元类型的范围强制转换为另一种基元类型的范围。

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

start 索引开始并包含 length 项,在预固定目标数组的一部分之上创建新的内存缓冲区。

CreateReadOnlySpan<T>(T, Int32)

在常规托管对象的一个部分上创建新的只读范围。

CreateReadOnlySpanFromNullTerminated(Byte*)

为以 null 结尾的字节序列创建新的只读范围。

CreateReadOnlySpanFromNullTerminated(Char*)

为以 null 结尾的字符串创建新的只读范围。

CreateSpan<T>(T, Int32)

在常规托管对象的一个部分上创建新的范围。

GetArrayDataReference(Array)

返回对 array 中第 0 个元素的引用。 如果数组为空,则返回对要存储第 0 个元素的位置的引用。 此类引用可用于固定,但绝不能取消引用。

GetArrayDataReference<T>(T[])

返回对 array 中第 0 个元素的引用。 如果数组为空,则返回对要存储第 0 个元素的位置的引用。 此类引用可用于固定,但绝不能取消引用。

GetReference<T>(ReadOnlySpan<T>)

返回对索引为 0 处只读范围元素的引用。

GetReference<T>(Span<T>)

返回对索引为 0 处范围元素的引用。

Read<T>(ReadOnlySpan<Byte>)

从字节的只读范围读取 类型的 T 结构。

ToEnumerable<T>(ReadOnlyMemory<T>)

创建给定的只读内存缓冲区的 IEnumerable<T> 视图。

TryGetArray<T>(ReadOnlyMemory<T>, ArraySegment<T>)

尝试从基础内存缓冲区获取数组段。 返回值指示操作是否成功。

TryGetMemoryManager<T,TManager>(ReadOnlyMemory<T>, TManager)

尝试从基础只读内存缓冲区中检索 MemoryManager<T>

TryGetMemoryManager<T,TManager>(ReadOnlyMemory<T>, TManager, Int32, Int32)

尝试从基础只读内存缓冲区中检索 MemoryManager<T>、起始索引和长度。

TryGetString(ReadOnlyMemory<Char>, String, Int32, Int32)

尝试从 System.ReadOnlyMemory<Char> 中获取基础字符串。

TryRead<T>(ReadOnlySpan<Byte>, T)

尝试从字节的只读范围中读取 T 类型的结构。

TryWrite<T>(Span<Byte>, T)

尝试将类型为 T 的结构写入到字节的跨度中。

Write<T>(Span<Byte>, T)

T 类型的结构写入字节范围内。

适用于