1. 程式人生 > 實用技巧 >Span<T>結構原始碼

Span<T>結構原始碼

參考

在.Net Core中使用Span

官方Span文件

簡介

提供任意記憶體的連續區域的型別和記憶體安全表示。

Span<T>是在堆疊上分配的引用結構,而不是在託管堆上分配的。Ref 結構型別具有多個限制,可確保它們無法升級到託管堆,包括它們不能裝箱、不能分配給型別的變數Objectdynamic或任何介面型別,它們不能是引用型別中的欄位,並且不能跨awaityield邊界使用。此外,對兩個方法Equals(Object)和的呼叫將GetHashCode引發NotSupportedException

Span<T>表示任意記憶體的連續區域。Span<T>

例項通常用於儲存陣列或某個陣列的一部分的元素。但與陣列不同,Span<T>例項可以指向託管記憶體、本機記憶體或在堆疊上管理的記憶體。

特點

效能好,使用ByReference型別的指標

擴充套件

StringBuilder也是實現了指標功能,對比看看

StringBuilder