Sobes.tech
Junior — Middle

Quelle méthode, utiliser LINQ ou une boucle foreach, montre une performance plus élevée lors du traitement des collections?

sobes.tech IA

Réponse de l'IA

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