我已经阅读了一些关于如何使用SPAN替换某些字符串操作的文章。因此,我在代码库中更新了一些代码来使用这个新特性,但是为了能够在适当的地方使用它,我必须调用 .ToString() .
.ToString()
做 toSTRIN() 有效地否定我从使用中获得的好处 Span<T> 而不是 Substring 因为这需要分配内存?在这种情况下,如果跨度是这样的,我该如何获得好处呢,还是不可能?
toSTRIN()
Span<T>
Substring
//return geofenceNamesString.Substring(0, 50); Previous code return geofenceNamesString.AsSpan().Slice(0, 50).ToString();
你的情况没有好处。
如果将多个“引用”保存到同一个数据数组中,则跨度很有用。例如,如果您将一个文件读取到RAM中,然后保留对每一行的引用,那么您不必 复制 每一行,但只保留其在大字符串中的位置。
您正在以某种方式复制字符串。所以只要用更简单、更易读的方式 Substring .