Optimisation de la concaténation de tableaux en C#
La combinaison de tableaux en C# est une tâche courante. La méthode Concat
propose une solution simple :
<code class="language-csharp">int[] x = { 1, 2, 3 }; int[] y = { 4, 5 }; int[] z = x.Concat(y).ToArray(); Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
Cependant, les performances de Concat
se dégradent sensiblement avec des tableaux plus grands (comme indiqué dans « Concaténation de tableaux en C# », les performances diminuent considérablement au-delà de 10 000 éléments).
Une alternative plus performante
Pour une efficacité améliorée, en particulier avec des baies importantes, une approche manuelle offre un avantage significatif. Cela implique de créer un nouveau tableau de la bonne taille et de copier directement les éléments :
<code class="language-csharp">var z = new int[x.Length + y.Length]; x.CopyTo(z, 0); y.CopyTo(z, x.Length);</code>
Cette méthode évite la surcharge inhérente à Concat
, ce qui entraîne une concaténation plus rapide, en particulier pour les grands ensembles de données. Bien que légèrement plus verbeux, les gains de performances en font un choix préférable pour la manipulation de tableaux à plus grande échelle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!