(给DotNet加星标,提升.Net技能)
转自: 【秦时明月】 cnblogs.com/humble/p/12382833.html
一、Span概述
原文:Provides a type- and memory-safe representation of a contiguous region of arbitrary memory.
中文的翻译不准确,这里给出比较厚道的翻译:提供类型T安全、连续的内存区域的表达方式.
(图1:Span定义,不是全图)
这里出现高阶语法 readonly ref struct,下面是msdn给的语言规范(或者其核心意义),估计大家会看晕,
Span 并且不能跨 await 和 yield 边界使用。此外,对两个方法的调用(Equals(Object) 和 GetHashCode)将引发一个 NotSupportedException。因为锁定在堆栈上,所以也不要试图让其成为做为静态成员。
我先给出最简单的解释: