Подстрока без выделения с использованием 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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