Langage C# – Méthode d’extension ForEach ou instruction foreach pour parcourir un tableau ?

En parcourant du code sur un projet, j’ai observé que le développeur avait écrit les lignes de code suivantes :

array.ToList().ForEach(item => 
{ 
    // Traitement ...
});

array est un tableau d’environ 50000 chaînes de caractères. Cette syntaxe consiste à « transformer » le tableau en collection, afin de pouvoir utiliser la méthode extension ForEach proposée par le Framework .NET. Si le traitement consiste à logger dans une fenêtre console DOS les données contenues dans le tableau, sur un PC, la durée du traitement des 50000 éléments est de 6,11 secondes.

Je propose alors le bloc de code suivant :

foreach (string item in array)
{ 
    // Traitement ...
}

En exécutant le même traitement, la durée est de 2,93 secondes (soit plus de deux fois plus rapide).

Étiquettes : ,

About: James RAVAILLE

Travaillant avec la plateforme Microsoft .NET depuis 2002, j'alterne les missions de formation et d'ingénierie avec cette plateforme. J'écris ce blog pour transmettre mes connaissances à tout développeur, qu'il soit débutant ou expérimenté.