内存相关类型和跨度类型

.NET 包含许多相互关联的类型,这些类型表示任意内存的连续强类型区域。 这些类型的设计目的是允许创建算法,以尽可能避免不必要地复制内存或在托管堆上进行内存分配。 创建它们(通过 SliceAsSpan()集合表达式或其构造函数)并不涉及复制基础缓冲区:只会更新表示已包装内存的“视图”的相关引用和偏移量。 在高性能代码中,span 通常用于避免不必要地分配字符串。

类型包括:

有关详细信息,请参阅 System.Buffers 命名空间。

使用内存和跨度

由于内存相关类型和跨度相关类型通常用于在处理管道中存储数据,因此在使用Span<T>Memory<T>及相关类型时,必须遵循一组最佳做法。 这些最佳做法记录在 内存<T> 和跨度<T> 使用指南中

另请参阅