Maison >développement back-end >C++ >Comment puis-je ajouter efficacement de nouveaux éléments à un tableau de chaînes en C# ?

Comment puis-je ajouter efficacement de nouveaux éléments à un tableau de chaînes en C# ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-12 09:13:43585parcourir

How Can I Efficiently Add New Elements to a String Array in C#?

Ajout de nouveaux éléments aux tableaux de chaînes en C#

Développer efficacement des tableaux de chaînes en C# nécessite un examen attentif des méthodes disponibles. Plusieurs approches existent, chacune avec ses propres forces et faiblesses.

La ListeSolution

Pour les situations nécessitant un redimensionnement dynamique, un List<string> offre la solution la plus simple :

<code class="language-csharp">List<string> stringList = new List<string>();
stringList.Add("Hello");</code>

Cela élimine le besoin de redimensionner manuellement le tableau et simplifie l'ajout d'éléments.

Méthode 1 : Array.Resize

Array.Resize modifie le tableau d'origine en place, augmentant sa taille pour accueillir un nouvel élément :

<code class="language-csharp">string[] arr = { "Apple", "Banana" };
Array.Resize(ref arr, arr.Length + 1);
arr[arr.Length - 1] = "Orange";</code>

Cette approche est efficace pour les ajouts peu fréquents mais peut être moins performante pour les modifications fréquentes.

Méthode 2 : Array.Copy

Cette méthode crée un nouveau tableau plus grand, copie les éléments existants, puis ajoute le nouvel élément :

<code class="language-csharp">string[] arr = { "Apple", "Banana" };
string[] newArr = new string[arr.Length + 1];
Array.Copy(arr, newArr, arr.Length);
newArr[newArr.Length - 1] = "Orange";</code>

Bien que la création d'un nouveau tableau entraîne une certaine surcharge, elle évite les problèmes de performances potentiels associés à un redimensionnement répété.

Méthode 3 : Concat de LINQ

LINQ fournit un moyen concis d'ajouter des éléments en utilisant Concat :

<code class="language-csharp">string[] arr = { "Apple", "Banana" };
string[] newArr = arr.Concat(new[] { "Orange" }).ToArray();</code>

C'est élégant mais pourrait être légèrement moins efficace que Array.Copy pour les très grands tableaux en raison de la surcharge des opérations LINQ.

Sélection de l'approche optimale

La meilleure méthode dépend de vos besoins spécifiques. List<string> est idéal pour les tableaux dynamiques avec des ajouts et des suppressions fréquents. Pour les tableaux statiques avec des changements peu fréquents, Array.Resize ou Array.Copy sont des choix appropriés. Concat de LINQ offre une syntaxe propre mais peut avoir une légère pénalité de performances pour les tableaux extrêmement grands.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn