[英]Substring implementation via Span<T>
当应该利用Span<T>
时,如何实现SubstringFromStart
方法? 假设substringLength <= input.Length
:
ReadOnlySpan<char> span = input.AsSpan().Slice(0, substringLength);
return new string(span.ToArray());
这是要走的路吗? 有没有比new string(span.ToArray())
更好,更简洁的方法new string(span.ToArray())
?
这是要走的路吗?
不,使用Span<T>
在这里没用,因为你需要一个字符串构造函数的字符数组(还没有接受Span<char>
)。
如果符合以下条件,您可以使用Span<T>
获益:
Span<char>
,而不是string
。 那你就不需要字符串分配了; Span<char>
作为输入,您永远不需要将其实现为数组,或者您不需要中间实现(例如,将其传递给方法时)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.