如何将C#字符串转换为Span<;char>;?(Span<;T>;)

如何将C#字符串转换为Span<;char>;?(Span<;T>;),c#,c#-7.2,C#,C# 7.2,如何将字符串转换为跨度 Span mySpan=“我的示例源字符串”; 您需要安装 有一些名为.AsSpan()或.AsReadOnlySpan()的字符串扩展方法可以将字符串转换为适当的跨度 例如: Span<char> mySpan = "My sample source string".AsSpan(); ReadOnlySpan<char> myReadOnlySpan = "My read only string".AsReadOnlySpan(); Span

如何将字符串转换为跨度

Span mySpan=“我的示例源字符串”;
您需要安装

有一些名为.AsSpan()或.AsReadOnlySpan()的字符串扩展方法可以将字符串转换为适当的跨度

例如:

Span<char> mySpan = "My sample source string".AsSpan();
ReadOnlySpan<char> myReadOnlySpan = "My read only string".AsReadOnlySpan();
Span mySpan=“我的示例源字符串”.AsSpan();
ReadOnlySpan myReadOnlySpan=“我的只读字符串”。AsReadOnlySpan();
资料来源:(大约6分钟)

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

Span
和好友包含在.NET Core 2.1中,因此不需要安装其他NuGet软件包

当时是正确的,根据预览,但现在已经过时了。 对于字符串,扩展方法是
AsSpan
AsMemory
,分别返回
ReadOnlySpan
ReadOnlyMemory


Explicit
AsReadOnlySpan
不见了,因为
string
s是不可变的,所以返回
Span
(可写)是没有意义的。

正确的做法是提供该链接的so用户属性。汉斯:你是指MSDN源链接吗?我自己找到的。我把它添加到我的答案中,以提醒我在哪里听到了解决方案。另一个Daniel添加了NuGet包链接。谢谢你,丹尼尔!丹尼尔:我希望我能给你这个答案。你说得对,这一步很重要。3.1中的代码不起作用谢谢你的回答。正在直接搜索
AsReadOnlySpan
,但即使
AsSpan
返回
ReadOnlySpan
,doh也没有出现。
Span<char> mySpan = "My sample source string".AsSpan();
ReadOnlySpan<char> myReadOnlySpan = "My read only string".AsReadOnlySpan();