Использование Span<T> в качестве замены для подстроки
Я прочитал несколько статей о том, как Span можно использовать для замены определенных строковых операций. Поэтому я обновил некоторый код в моей кодовой базе, чтобы использовать эту новую функцию, однако, чтобы иметь возможность использовать ее на месте, мне нужно вызвать .ToString()
,
Ли .ToString()
эффективно свести на нет выгоду, которую я получаю от использования Span<T>
скорее, чем Substring
как для этого придется выделять память? В каком случае, как мне воспользоваться преимуществами Span, или это просто невозможно?
//return geofenceNamesString.Substring(0, 50); Previous code
return geofenceNamesString.AsSpan().Slice(0, 50).ToString();
1 ответ
Там нет никакой выгоды в вашем случае.
Диапазон полезен, если вы храните несколько "ссылок" в одном массиве данных. Например, если вы читаете файл в ОЗУ, а затем сохраняете ссылки на каждую строку, вам не нужно копировать каждую строку, а только сохранять ее позицию в большой строке.
Вы делаете копию своей строки так или иначе. Так что просто идти с более простым, более читаемым способом Substring
,