当应利用SubstringFromStart
时,如何实现Span<T>
方法?假设substringLength <= input.Length
:
ReadOnlySpan<char> span = input.AsSpan().Slice(0, substringLength);
return new string(span.ToArray());
这是要走的路吗?有没有比
new string(span.ToArray())
更好,更简洁的方法? 最佳答案
不,在这里使用Span<T>
是没有用的,因为您需要为字符串构造函数使用字符数组(尚无一个可以接受Span<char>
的对象)。
如果满足以下条件,您将在此处使用Span<T>
会受益:
Span<char>
而不是string
。这样,您就不需要分配字符串了; Span<char>
作为输入,您无需将其实例化为数组,也不需要中间的实例化(例如,将其传递给方法时)。