通过Span <T>实现子字符串

By simon at 2018-02-07 • 0人收藏 • 22人看过

SubstringFromStart方法的实现如何看起来像什么时候 Span<T>应该杠杆?假设SubstringFromStart0:

 ReadOnlySpan<char> span = input.AsSpan().Slice(0, substringLength);
 return new string(span.ToArray());
这是要走的路吗?有没有比new string(span.ToArray())更好,更简洁的方法?

1 个回复 | 最后更新于 2018-02-07
2018-02-07   #1

这是要走的路吗? 不,使用Span<T>在这里没用,因为你需要一个字符数组 字符串构造函数(重新是没有接受Span<char>)。 如果出现以下情况,您可以在这里使用Span<T>:   您将返回Span<char>,而不是string.那么你不需要字符串分配;   您收到一个Span<char>作为输入和你永远不需要实现它到一个数组,或者你不需要中间实现(当它传递给方法例如)。

登录后方可回帖

Loading...