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 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Соединение ReadOnlySpan и ReadOnlySpan
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Почему string.indexof (string) и readonlyspan.indexof (string) возвращают разные значения
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как разрешить 'std :: __ cxx11 :: basic_ostringstream <char, std :: char_traits <char>, std :: allocator <char>> :: basi
    Anonymous » » в форуме C++
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Как избежать неявного приведения от double к int?
    Anonymous » » в форуме C++
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • System.Text.Json не может сериализовать ReadOnlySpan
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

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