А вот мы решили создать List из уже существующего массива. Какой же способ выбрать, если нам важны наносекунды? Ответ: любой. Но если наносекунды нам действительно важны, то мы будем выбирать передачу массива в конструктор List'a. Внутри есть попытка каста IEnumerable к ICollection, что позволяет создать внутренний массив нужного размера. Именно его расширение является замедляющим фактором и причиной аллокации при вызове банального метода Add. Инициализатор, конечно же, является синтаксическим сахаром многократного вызова метода Add (это отчётливо видно в IL). Мой канал в TG: https://t.me/csharp_gepard
Инициализация List в C#
26 апреля 202426 апр 2024
6
~1 мин