Информация об изменениях

Сообщение Re[78]: MS забило на дотнет. Питону - да, сишарпу - нет? от 01.10.2021 3:48

Изменено 01.10.2021 3:49 vdimas

Re[78]: MS забило на дотнет. Питону - да, сишарпу - нет?
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:

S>>Почему нельзя ввести такие структуры непонятно.
S>Потому, что очень многое в дотнете и в существующих программах для него завязано на нынешнее устройство строк.

Ну... там завязка не столько на устройство, сколько на имеющуюся функциональность вокруг такого устройства, включая парсинг и сериализацию банальных чисел и дат.

На сегодняшний день целиком и полностью доступна аналогичная функциональность поверх строк Span<> как узких UTF8, так и последовательности широких 16 битных char.
Эта функциональность раскидана по АПИ дотнета:
https://docs.microsoft.com/en-us/dotnet/api/system.memoryextensions?view=net-5.0
https://docs.microsoft.com/ru-ru/dotnet/api/system.buffers.text.utf8parser?view=net-5.0
https://docs.microsoft.com/ru-ru/dotnet/api/system.buffers.text.utf8formatter?view=net-5.0
https://docs.microsoft.com/en-us/dotnet/api/system.int32.tryparse?view=net-5.0#System_Int32_TryParse_System_ReadOnlySpan_System_Char__System_Int32__

Но у себя, например, собираю требуемую функциональность "в одну точку" через "инлайные" статические классы-хелперы.

Причём, до 3-го .Net Core самописные хелперы рвали по эффективности имеющиеся аналоги из АПИ как тузик грелку.
Уже к 5-му дотнету надобность в своих самописных хелперах вокруг последовательностей символов отпала.

Остальлись только кое-какие вопросы к парсингу и форматированию чисел с плавающей точкой — в дотнете используется промежуточный буфер, а можно использовать подставляемый, экономя на одном лишнем копировании результата. Если/когда дадут соотв. сигнатуры, то вопрос можно будет считать окончательно закрытым.
Re[78]: MS забило на дотнет. Питону - да, сишарпу - нет?
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:

S>>Почему нельзя ввести такие структуры непонятно.
S>Потому, что очень многое в дотнете и в существующих программах для него завязано на нынешнее устройство строк.

Ну... там завязка не столько на устройство, сколько на имеющуюся функциональность вокруг такого устройства, включая парсинг и сериализацию банальных чисел и дат.

На сегодняшний день целиком и полностью доступна аналогичная функциональность поверх строк Span<> как узких UTF8, так и последовательности широких 16 битных char.
Эта функциональность раскидана по АПИ дотнета:
https://docs.microsoft.com/en-us/dotnet/api/system.memoryextensions?view=net-5.0
https://docs.microsoft.com/ru-ru/dotnet/api/system.buffers.text.utf8parser?view=net-5.0
https://docs.microsoft.com/ru-ru/dotnet/api/system.buffers.text.utf8formatter?view=net-5.0
https://docs.microsoft.com/en-us/dotnet/api/system.int32.tryparse?view=net-5.0#System_Int32_TryParse_System_ReadOnlySpan_System_Char__System_Int32__

Но у себя, например, собираю требуемую функциональность "в одну точку" через "инлайные" статические классы-хелперы.

Причём, до 3-го .Net Core самописные хелперы рвали по эффективности имеющиеся аналоги из АПИ как тузик грелку.
Уже к 5-му дотнету надобность в своих самописных хелперах вокруг последовательностей символов отпала.

Остались только кое-какие вопросы к парсингу и форматированию чисел с плавающей точкой — в дотнете используется промежуточный буфер, а можно использовать подставляемый, экономя на одном лишнем копировании результата. Если/когда дадут соотв. сигнатуры, то вопрос можно будет считать окончательно закрытым.