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