LINQ использует отложенное выполнение, что означает, что IEnumerable может быть переоценен при каждой итерации.
Как в реальном приложении C# многократное перечисление одного и того же запроса LINQ влияет на производительность, особенно если источник включает вызовы базы данных или другие дорогостоящие операции?
Каковы практические способы обнаружения нескольких проблем перечисления и какие шаблоны рекомендуются, например ToList() или кэшировать результаты, чтобы предотвратить их появление без ненужного использования памяти?
Подробнее здесь: https://stackoverflow.com/questions/798 ... mance-with
Мобильная версия