Интересно, про 'null & 0' не знал. А какой смысл проверять на null value type? Manageability это свойство с типом перечисления SettingsManageability и оно не nullable.
Конечно, в статье не всё отражено, вставить всё просто невозможно. Что-то считаешь незначительным, что-то не для всех. Про производительность я соглашусь, но если начинать перечислять, то в комментарии всё равно кто-то придёт и напишет, что что-то забыли :). Поэтому решил ограничиться ссылкой на исчерпывающую статью. Тем более, лучше Тауба сложно сделать. А вот про отдельные устанавливаемые пакеты действительно лучше сделать отдельные статьи (хотя тогда это будет копирка статей Microsoft), так как здесь хотелось выделить более общие вещи.
Спасибо, за большой комментарий. Постараемся в следующих статьях про .NET учесть.
Да, есть такой момент, но на момент публикации статьи через dotnet-install скрипт уже можно было установить 8.0.100. А теперь ещё и на официальной странице для скачивания появилась новая версия.
FirstOrDefault возвращает не индекс, а первый элемент коллекции, но по контексту я думаю, что в коллекции индексы. Так что первый элемент может быть 0.
Думаю, что самым лёгким вариантом будет использование дефолтного значения, если нет подходящего элемента: FirstOrDefault(-1)
Спасибо за пример. Я думаю, что анализатор мог бы для подобных случаев понижать уровень предупреждения, или мы и вовсе могли бы добавить это в исключения. Рассмотрим доработку :). Если что по всем вопросам можно написать нам в поддержку.
Nullable безусловно полезная штука, хотя и холиварная. Кому-то нравится, а кому-то нет. Мне, например среди C# ошибок из этой статьи больше всего нравится про бесполезный '??'. Про этот кейс могу точно сказать, что его VS 2022 не ловит. Да и статические анализаторы же не только разыменования нулевых ссылок ищут.
Конечно, мы всегда сообщаем разработчикам о найденных ошибках и странностях в коде. В основном это issue на GitHub. По PowerToys issue уже создаю, позже добавлю его в коммент.
Вполне возможно, но примеры из документации использовались и из новых диагностических правил, которые были опубликованы после 2021 года. ChatGPT обучался на информации до 2021 года.
Предполагаю, что даже переименование переменных ухудшит результаты.
Я не называл Generic Math не интересной фишкой :). Если вы про то, что в статье не рассказывается про неё, то хочу заметить, что я дал ссылку на подробную статью по разбору нововведений C# 11.
1) Актуальный на сегодняшнее время .NET 6.0.9. Как вам уже ответили ранее, размер увеличивается в два раза. В статье написано про это в описании алгоритма работы метода Grow:
если внутренний массив пуст, то ёмкость списка будет равна 4, иначе удвоенной длине массива
2) Я согласен, что наибольший выигрыш будет при использовании значимых типов, в этом и суть. А про разницу для ссылочных типов есть в статье:
Разница при использовании ссылочных типов несущественная, так как нет операций упаковки и распаковки, которые являются очень тяжёлыми.
Интересно, про 'null & 0' не знал. А какой смысл проверять на null value type? Manageability это свойство с типом перечисления SettingsManageability и оно не nullable.
Конечно, в статье не всё отражено, вставить всё просто невозможно. Что-то считаешь незначительным, что-то не для всех. Про производительность я соглашусь, но если начинать перечислять, то в комментарии всё равно кто-то придёт и напишет, что что-то забыли :). Поэтому решил ограничиться ссылкой на исчерпывающую статью. Тем более, лучше Тауба сложно сделать.
А вот про отдельные устанавливаемые пакеты действительно лучше сделать отдельные статьи (хотя тогда это будет копирка статей Microsoft), так как здесь хотелось выделить более общие вещи.
Спасибо, за большой комментарий. Постараемся в следующих статьях про .NET учесть.
Да, есть такой момент, но на момент публикации статьи через dotnet-install скрипт уже можно было установить 8.0.100. А теперь ещё и на официальной странице для скачивания появилась новая версия.
FirstOrDefault возвращает не индекс, а первый элемент коллекции, но по контексту я думаю, что в коллекции индексы. Так что первый элемент может быть 0.
Думаю, что самым лёгким вариантом будет использование дефолтного значения, если нет подходящего элемента:
FirstOrDefault(-1)
Спасибо за пример. Я думаю, что анализатор мог бы для подобных случаев понижать уровень предупреждения, или мы и вовсе могли бы добавить это в исключения. Рассмотрим доработку :).
Если что по всем вопросам можно написать нам в поддержку.
Nullable безусловно полезная штука, хотя и холиварная. Кому-то нравится, а кому-то нет. Мне, например среди C# ошибок из этой статьи больше всего нравится про бесполезный '??'. Про этот кейс могу точно сказать, что его VS 2022 не ловит. Да и статические анализаторы же не только разыменования нулевых ссылок ищут.
ind == 0 ? 0 : -1;
Вы имелли в виду вот так? Индексы обычно начинаются с 0, так что подобное исправление будет ошибочным :).
Конечно, мы всегда сообщаем разработчикам о найденных ошибках и странностях в коде. В основном это issue на GitHub. По PowerToys issue уже создаю, позже добавлю его в коммент.
Спасибо за интересную статью. Думаю, что пока это лишь инструмент для знающего человека, который сэкономит время.
Возможно кому-то будет интересна другая статья на подобную тему: Хорошо ли ChatGPT ищет ошибки в коде?
Интересная новость, спасибо.
Возможно программистам будет интересна статья на подобную тему: Хорошо ли ChatGPT ищет ошибки в коде?
Спасибо за статью. Думаю, что пока это лишь инструмент для знающего человека, который сэкономит время.
Возможно кому-то будет интересна другая статья на подобную тему: Хорошо ли ChatGPT ищет ошибки в коде?
Спасибо за статью, интересно. Пока ещё остаётся проблема непонятности где ИИ врёт, а где говорит правду.
Может кому-то интересна похожая тема: Хорошо ли ChatGPT ищет ошибки в коде?
Спасибо за статью. Думаю, что пока это лишь инструмент для знающего человека, который сэкономит время.
Возможно кому-то будет интересна другая статья на подобную тему: Хорошо ли ChatGPT ищет ошибки в коде?
Вполне возможно, но примеры из документации использовались и из новых диагностических правил, которые были опубликованы после 2021 года. ChatGPT обучался на информации до 2021 года.
Интересно, можно попробовать.
Интересно, а что вы подразумеваете под отладкой кода?
С Go не знаком, но не могу не согласиться :). Native AOT выглядит очень круто.
Я не называл Generic Math не интересной фишкой :). Если вы про то, что в статье не рассказывается про неё, то хочу заметить, что я дал ссылку на подробную статью по разбору нововведений C# 11.
А не подскажете в какой версии было иначе? Я посмотрел .net 5 и .net framework 4.8 и 4.5.1, везде ёмкость по умолчанию равна 4.
Да, вы правы, можно было бы написать про это. Про используемые алгоритмы сортировки есть на MSDN:
1) Актуальный на сегодняшнее время .NET 6.0.9. Как вам уже ответили ранее, размер увеличивается в два раза. В статье написано про это в описании алгоритма работы метода Grow:
2) Я согласен, что наибольший выигрыш будет при использовании значимых типов, в этом и суть. А про разницу для ссылочных типов есть в статье: