TGViewer
C# (C Sharp) programming C# (C Sharp) programming @csharp_ci · 18.1K subscribers
Post #1751 4.27K
Никогда не возвращай null для коллекций в C#

Спорное мнение, но на практике это один из самых частых источников багов.

Когда метод возвращает null вместо списка, ты заставляешь каждого, кто его вызывает, писать дополнительную проверку.

Иначе всё ломается на самом банальном месте:


foreach (var transaction in GetTransactions(userId))
{
// boom, если null
}


В итоге получаешь:

• лишние null-проверки повсюду
• более громоздкий код
• ошибки в рантайме, если кто-то забыл проверить

Всегда этого возвращай пустую коллекцию:


Enumerable.Empty<T>()
new List<T>()
[] в C# 12
var transactions = GetTransactions(userId)
?? Enumerable.Empty<TransactionDto>();


Теперь код становится чище и понятнее.

Ты всегда можешь итерироваться и не думаешь о null каждый раз.

Хороший API - это тот, в работе с которым ошибиться почти невозможно.
More from @csharp_ci
  1. Sep 21, 2026Awesome Jev - большая подборка инструментов для новой модели TypeSafe AI 🤗 Jev - новая бы…
  2. Sep 21, 2026🔍Тестовое собеседование с Senior C# разработчиком уже завтра 22 сентября(уже завтра!) в 1…
  3. Sep 20, 2026🧩 Задача на C#: почему воркер завис, хотя очередь почти пустая? Есть канал вместимостью о…
  4. Sep 18, 2026Post #1882
  5. Sep 17, 2026🔥 Microsoft выпустила .NET 11 RC1**- первый релиз-кандидат уже с **go-live support, то ес…
  6. Sep 15, 2026photo post
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 →