如何将C#字符串转换为Span ? (跨度)

如何将字符串转换为Span ?

Span mySpan = "My sample source string"; 

Span和朋友都包含在.NET Core 2.1中,因此不需要安装额外的NuGet包。

Dan Sorensen在那个日期的回答是正确的并且基于预览,但现在它已经过时了。 对于字符串,扩展方法是AsSpanAsMemory ,分别返回ReadOnlySpanReadOnlyMemory

明确的AsReadOnlySpan已经AsReadOnlySpan存在了,因为string s是不可变的,所以返回一个Span (可写)是没有意义的。

您需要安装System.Memory NuGet包 。

字符串的扩展方法称为.AsSpan()或.AsReadOnlySpan(),用于将字符串转换为适当的Span

例:

 Span mySpan = "My sample source string".AsSpan(); ReadOnlySpan myReadOnlySpan = "My read only string".AsReadOnlySpan(); 

来源: MSDN第9频道“C#7.2:了解跨度” (大约6分钟)

更新:这个答案在当时是正确的,但基于预览版本。 有关当前程序,请参阅本页的gfoidl更新的答案 。