我理解Span<T>
可以作为Nuget包在.NET Framework上使用。 There have been JIT upgrades to .NET Core to improve performance of Span<T>
to nearly standard array performance.
哪些.NET Framework版本支持Span<T>
答案 0 :(得分:8)
“快速跨度”支持不太可能很快出现在.NET Framework版本中-并且肯定在4.7.2(或更早版本)中不存在,并且不在4.8的计划中-参见例如this discussion thread。
答案 1 :(得分:5)
直到.NET 4.7.1才开始。取自here:
注意:在创建.NET Core 2.0的发布版之后,此处描述的更改已落实,因此它们在每日预览版本中可用,但不在已发布的2.0位中可用。同样,这些更改在创建.NET Framework 4.7.1的fork之后就已落实。结构参数传递和块布局的更改(纯粹是JIT更改)将使用新的JIT位自动传播到后续的.NET Framework版本(RyuJIT源在.NET Core和.NET Framework之间共享);其他更改取决于它们的运行时组件传播到.NET Framework。
然后
跨度的改进
我们的一些工作是由Span的引入推动的,因此它和类似类型可以更好地实现其性能承诺。
其中一个变化是#10910,这使得JIT将Span和ReadOnlySpan的Item属性getter识别为内在函数