C
C# Ready | Unity
@csharp_ready10.1K подп.
1.7Kпросмотров
17.1%от подписчиков
24 марта 2026 г.
question📷 ФотоScore: 1.9K
Почему опасно перечислять IEnumerable несколько раз? Когда мы работаем с IEnumerable, легко забыть, что это не всегда готовая коллекция. Иногда это просто последовательность, которая будет выполняться заново каждый раз, когда мы к ней обращаемся. Из-за этого код может выглядеть безобидно, но делать больше работы, чем кажется на первый взгляд. var users = GetUsers() .Where(x => x.IsActive); if (users.Any()) { Console.WriteLine(users.Count()); } Здесь последовательность может быть пройдена дважды: сначала в Any(), потом ещё раз в Count(). Если источник данных тяжёлый — например, запрос, генератор или цепочка LINQ с вычислениями — это уже лишняя работа, которую не видно сразу. Если ты понимаешь, что данные понадобятся несколько раз, лучше один раз материализовать их в список и дальше работать уже с ним. var users = GetUsers() .Where(x => x.IsActive) .ToList(); if (users.Count > 0) { Console.WriteLine(users.Count); } Так код становится честнее: мы явно показываем, что хотим сохранить результат и использовать его дальше без повторного перечисления. 🔥 Если последовательность нужна больше одного раза — лучше сразу зафиксировать её в памяти и не гонять одну и ту же логику повторно. ➡️ C# Ready | #совет
1.7K
просмотров
1242
символов
Нет
эмодзи
Да
медиа

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

Все посты канала →