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

时间:2017-11-16 04:52:50

标签: c# c#-7.2

如何将字符串转换为Span&lt; T&gt;?

Span<char> mySpan = "My sample source string";

2 个答案:

答案 0 :(得分:26)

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

Dan Sorensen在该日期的回答是正确的并且基于预览,但现在它已经过时了。 对于字符串,扩展方法为SELECT * FROM MyTable WHERE (EmployeeID IN(@Employee_ID) OR @Employee_ID = -1) Span<T>,分别返回AsSpanAsMemory

显式ReadOnlySpan<char>已经消失,因为ReadOnlyMemory<char>是不可变的,所以找回AsReadOnlySpan(可写)是没有意义的。

答案 1 :(得分:16)

您需要安装System.Memory NuGet package

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

示例:

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

资料来源:MSDN Channel 9 "C# 7.2: Understanding Span"(约6分钟左右)

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