内存和跨度相关类型

从 .NET Core 2.1 开始,.NET 包含多个相互关联的类型,它们表示任意内存的相邻强类型区域。 这些方法包括:

System.Span<T>System.Memory<T> 及其只读对等体被设计为,允许创建算法来避免不必要地复制内存或在托管堆上进行分配。 创建它们(通过 Slice 或它们的构造函数)并不涉及复制基础缓冲:只更新代表已包装内存的“视图”的相关引用和偏移。

注意

对于早期框架,Span<T>Memory<T>System.Memory NuGet 包中提供。

有关更多信息,请参见 System.Buffers 命名空间。

使用内存和跨度

由于内存和跨度相关类型通常用于在处理管道中存储数据,因此开发人员在使用 Span<T>Memory<T> 和相关类型时要务必遵循一套最佳做法。 内存<T> 和跨度<T> 使用准则中介绍了这些最佳做法。

另请参阅