String.AsSpan() и производительность оператора неявного приведения в .NET для ReadOnlySpanC#

Место общения программистов C#
Ответить
Anonymous
 String.AsSpan() и производительность оператора неявного приведения в .NET для ReadOnlySpan

Сообщение Anonymous »

Начиная с версии .NET, у нас теперь есть неявное приведение из строки -> ReadOnlySpan. Это означает, что если функция принимает ReadOnlySpan, мы можем просто передать ей строку, и «преобразование» произойдет автоматически.

Этот неявный оператор недоступен в .NET. Однако ни в стандарте 2.0, ни в .NET Framework... Мы работаем со всеми тремя :)
По сути, это поле есть в моей ref-структуре

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

private readonly ReadOnlySpan _defaultDelimiters = new[] { ' ', ';' };
Я использую это поле каждый раз, когда вызывается функция Read(). Альтернативой было бы удалить это поле и поместить stackalloc внутри Read(). Но я не знаю, разумно это или нет.
Чтобы сделать мой код .NET совместимым с .NET Standard 2.0 и Framework, я мог бы просто добавить вызовы .AsSpan() в мои струны. Однако в .NET (Core) это «ненужно», но мой вопрос: хуже ли это с точки зрения производительности? Или расширение .AsSpan() и неявный оператор все равно выполняют одну и ту же операцию за кулисами?

Подробнее здесь: https://stackoverflow.com/questions/775 ... donlyspanc
Ответить

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

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

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

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

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