Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Что-то я впадаю в ступор от определения Int64.MinValue, которое мне показывает студия по F12 (VS2017, VS2019):
КД>
КД> //
КД> // Summary:
КД> // Represents the smallest possible value of an Int64. This field is constant.
КД> public const Int64 MinValue = --9223372036854775808;
КД>
КД>Это "декомпилятор" студии так чудит или так и задумано?
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Что-то я впадаю в ступор от определения Int64.MinValue, которое мне показывает студия по F12 (VS2017, VS2019):
КД>
КД> //
КД> // Summary:
КД> // Represents the smallest possible value of an Int64. This field is constant.
КД> public const Int64 MinValue = --9223372036854775808;
КД>
КД>Зачем тут декремент?
КД>Это "декомпилятор" студии так чудит или так и задумано?
Это баг в metadata viewer.
Re[2]: public const Int64 MinValue = --9223372036854775808;
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Мне нужно делать какие-либо телодвижения в сторону "VS Feedback" или оно уже "само" исправится?
Да, нужно. Судя по всему, metadata viewer пытался изобразить `-Math.Abs(-9223372036854775808)`, что есть `-(-9223372036854775808)`, но скобки забыли, и унарные минусы склеились в оператор декремента. Число -9223372036854775808 являтся противоположным самому себе в 64-битной двоичной арифметике, а 9223372036854775808 уже выходит из диапазона представимых чисел.
Re[4]: public const Int64 MinValue = --9223372036854775808;
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>>Мне нужно делать какие-либо телодвижения в сторону "VS Feedback" или оно уже "само" исправится?
N>Да, нужно.
Полез на VS Feedback, а там такое уже есть и ссылается на гитхаб.
На гитхабе сказали — проверь на VS2019.
Я проверил — оказывается в 2019 уже пофикшено. Наверное с 2019 — это я вчера напутал.
Но в VS2017 эта бага точно есть
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re: public const Int64 MinValue = --9223372036854775808;