Подстрока без выделения с использованием SpanC#

Место общения программистов C#
Гость
Подстрока без выделения с использованием Span

Сообщение Гость »

Как мы можем использовать Span вместо 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, например:

Код: Выделить всё

var firstName = new string(span);
Но я нигде не смог найти, делается ли это путем выделения в куче или нет.

Подробнее здесь: https://stackoverflow.com/questions/532 ... sing-spant

Вернуться в «C#»