TGViewer
C# 1001 notes C# 1001 notes @csharp_1001_notes · 6.64K subscribers
Post #826 3.44K
✔️ 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
More from @csharp_1001_notes
  1. Sep 20, 2026🧩 C# Channels: сообщение попало в очередь. Почему обработчик его не получил? Два воркера…
  2. Sep 16, 2026Эта задача проверяет понимание Memory<T>, pooling, ownership, IAsyncEnumerable, cancellati…
  3. Sep 16, 2026# C# 14: хитрая задача на ArrayPool, IAsyncEnumerable и время жизни памяти Есть поток данн…
  4. Sep 14, 2026# C# 14: конкурентный кеш без race condition Реализуйте потокобезопасный кеш: public seale…
  5. Sep 14, 2026🔍Тестовое собеседование с Senior C# разработчиком уже завтра 15 сентября(уже завтра!) в 1…
  6. Sep 11, 2026🔧 Как передать многострочный PEM через Aspire в ASP.NET Core Сертификаты и ключи в PEM со…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →