C
C# 1001 notes
@csharp_1001_notes6.5K подп.
3.0Kпросмотров
46.6%от подписчиков
23 января 2026 г.
📷 ФотоScore: 3.4K
✔️ C# может прокачать collection expressions: “аргументы при создании коллекции” Есть прикольное предложение в csharplang: сделать так, чтобы в collection expressions ([a, b, c]) можно было передавать аргументы в создание коллекции. Проблема сейчас: Postgres-стайл удобный синтаксис уже есть: List<int> xs = [1, 2, 3]; Но если тебе важно задать, например, capacity (чтобы не было лишних realloc внутри списка), то приходится писать “старым способом”: var xs = new List<int>(capacity: 32) { 1, 2, 3 }; Предлагаемое решение: добавить возможность передавать аргументы прямо в collection expression: List<int> xs = [args(capacity: 32); 1, 2, 3]; То есть: - args(...) - это аргументы для конструктора / create-метода - после ; - элементы коллекции Зачем это нужно: - можно сохранить суперкороткий синтаксис [ ... ] - но при этом контролировать создание коллекции (capacity, comparer и т.д.) - меньше лишних аллокаций → быстрее в hot-path коде Если фича дойдёт до релиза, это будет реально удобный апгрейд синтаксиса коллекций в C#. https://github.com/dotnet/csharplang/blob/main/proposals/collection-expression-arguments.md
3.0K
просмотров
1131
символов
Нет
эмодзи
Да
медиа

Другие посты @csharp_1001_notes

Все посты канала →
✔️ C# может прокачать collection expressions: “аргументы при — @csharp_1001_notes | PostSniper