Back to questions
Junior — Middle
68
Какой из методов — использование LINQ или цикл foreach — показывает более высокую производительность при обработке коллекций?
Companies where asked
Сибирские Технологические Решения
Answer from AI
sobes.tech AI
Цикл foreach обычно показывает более высокую производительность по сравнению с использованием LINQ, особенно в критичных по скорости сценариях. Это связано с тем, что LINQ создает дополнительные объекты, использует отложенное выполнение и может генерировать промежуточные коллекции, что увеличивает накладные расходы. Цикл foreach — это простой итератор без дополнительных абстракций, что делает его быстрее.
Пример:
var list = Enumerable.Range(1, 1000000).ToList();
// foreach
int sum1 = 0;
foreach(var item in list) {
sum1 += item;
}
// LINQ
int sum2 = list.Sum();
В данном случае foreach будет работать быстрее, особенно если операции внутри цикла простые. Однако LINQ удобен для декларативного кода и сложных запросов, где производительность не критична.