Sobes.tech
Junior — Middle

Hangi yöntem, LINQ kullanmak mı yoksa foreach döngüsü mü, koleksiyonları işlerken daha yüksek performans gösterir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Цикл 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 удобен для декларативного кода и сложных запросов, где производительность не критична.