Как мы можем использовать Span<T>
вместо string.Substring
, чтобы исключить необходимость выделения кучи? Допустим, у нас есть следующий код:
var firstNameAndFamilyName="myname,myfamily";
var span = firstNameAndFamilyName.AsSpan().Slice(0,6);
var firstName = .... // How can I get 'myname' without allocating any new memory on the heap?
Обратите внимание, что я знаю, что строка "myname,myfamily"
находится в куче, и firstName
должен указывать куда-то в кучу. Мой вопрос заключается в том, как мы можем указать на подмножество строки, не копируя эту часть в новое место в памяти кучи?
Я знаю, что в класс String добавлен новый конструктор, который принимает ReadOnlySpan<T>
, например:
var firstName = new string(span);
Но я нигде не мог найти, делается ли это путем выделения в куче или нет.