Использование Span <T>в качестве замены для подстроки - PullRequest
0 голосов
/ 01 января 2019

Я прочитал несколько статей о том, как Span можно использовать для замены определенных строковых операций.Поэтому я обновил некоторый код в моей кодовой базе, чтобы использовать эту новую функцию, однако, чтобы иметь возможность использовать его на месте, мне нужно вызвать .ToString().

Действительно ли .ToString() сводит на нет преимущества, которые я получаю от использования Span<T>, а не Substring, поскольку это должно было бы выделить память?В каком случае, как мне воспользоваться преимуществами Span, или это просто невозможно?

//return geofenceNamesString.Substring(0, 50); Previous code
return geofenceNamesString.AsSpan().Slice(0, 50).ToString();

1 Ответ

0 голосов
/ 01 января 2019

В вашем случае это не выгодно.

Диапазон полезен, если вы храните несколько «ссылок» в одном массиве данных.Например, если вы читаете файл в ОЗУ, а затем сохраняете ссылки на каждую строку, вам не нужно копировать каждую строку, а только сохранять свою позицию в большой строке.

Вы делаете копию своей строки так или иначе.Так что просто перейдите на более простой и понятный способ Substring.

...