Maison >développement back-end >C++ >Quel est le moyen le plus efficace de concaténer des tableaux en C# ?
Méthode de connexion efficace du tableau C#
La concaténation de tableaux est une tâche courante en programmation, qui combine les éléments de deux tableaux ou plus dans un nouveau tableau. En C#, la méthode Concat
fournit un moyen pratique de concaténer des tableaux, mais ce n'est peut-être pas la solution la plus efficace pour les grands tableaux.
Une méthode alternative
Pour concaténer les tableaux plus efficacement, une alternative consiste à copier manuellement les éléments de chaque tableau dans un nouveau tableau de taille appropriée :
<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 crée un nouveau tableau nommé z
avec une taille égale à la somme des longueurs de x
et y
. Ensuite, copiez les éléments de x
à partir de l'index 0 vers z
, puis copiez les éléments de y
à partir de l'index x.Length
(c'est-à-dire la position après le dernier élément de x
) vers z
milieu.
Exemple d'utilisation
Considérons l'exemple suivant :
<code class="language-csharp">int[] x = { 1, 2, 3 }; int[] y = { 4, 5 }; var z = new int[x.Length + y.Length]; x.CopyTo(z, 0); y.CopyTo(z, x.Length); Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
Ce code créera un nouveau tableau x
contenant tous les éléments de y
et z
et l'assertion vérifiera que les éléments sont correctement connectés.
Comparaison des performances
Les benchmarks montrent que cette alternative est plus efficace que l'approche Concat
pour les grands tableaux. À mesure que la taille du tableau augmente, la différence de performances devient plus prononcée.
Conclusion
Bien que la méthode Concat
fournisse un moyen concis de concaténer des tableaux, elle n'est peut-être pas la solution la plus efficace pour les grands tableaux. Pour de tels scénarios, la copie manuelle de tableaux constitue une alternative plus rapide et plus efficace.
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!