繁体   English   中英

通过Span <T>实现子串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM