如果应该利用SubstringFromStart
,Span<T>
方法的实现方式如何?假设substringLength <= input.Length
:
ReadOnlySpan<char> span = input.AsSpan().Slice(0, substringLength);
return new string(span.ToArray());
这是要走的路吗?是否有比new string(span.ToArray())
更好,更简洁的方式?
答案 0 :(得分:4)
这是要走的路吗?
不,使用Span<T>
在这里没用,因为你需要一个字符串构造函数的字符数组(还没有接受Span<char>
的字符数组。)
如果符合以下条件,您可以使用Span<T>
受益:
Span<char>
,而不是string
。那你就不需要字符串分配了; Span<char>
作为输入,您永远不需要将其实现为数组,或者您不需要中间实现(例如,将其传递给方法时)。