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

Сообщение Re[34]: dotnet vs java 2016-2020 от 17.10.2016 12:45

Изменено 17.10.2016 12:56 Serginio1

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

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


I>·>В Шарпе да... даже банальный string.cs это сплошной треш, угар и unsafe. Гы.


I>Да, это одна из проблем. В винде сплошной блудняк со строками и вот такими вот "гвоздями" товарищи и прибили дотнет к винде.


Ну в .Net Core https://github.com/dotnet/coreclr/blob/32f0f9721afb584b4a14d69135bea7ddc129f755/src/mscorlib/src/System/String.cs
Нет привязки к винде.
Re[34]: dotnet vs java 2016-2020
Здравствуйте, Ikemefula, Вы писали:

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


I>·>В Шарпе да... даже банальный string.cs это сплошной треш, угар и unsafe. Гы.


I>Да, это одна из проблем. В винде сплошной блудняк со строками и вот такими вот "гвоздями" товарищи и прибили дотнет к винде.


Ну в .Net Core https://github.com/dotnet/coreclr/blob/32f0f9721afb584b4a14d69135bea7ddc129f755/src/mscorlib/src/System/String.cs
Нет привязки к винде.
Но есть метод unsafe internal int ConvertToAnsi(byte *pbNativeBuffer, int cbNativeBuffer, bool fBestFit, bool fThrowOnUnmappableChar)
который использует

 fixed (char* pwzChar = &this.m_firstChar) 
             { 
                 nb = Win32Native.WideCharToMultiByte( 
                     CP_ACP, 
                     flgs, 
                     pwzChar, 
                     this.Length, 
                     pbNativeBuffer, 
                     cbNativeBuffer, 
                     IntPtr.Zero, 
                     (fThrowOnUnmappableChar ? new IntPtr(&DefaultCharUsed) : IntPtr.Zero)); 
             }