Maison > développement back-end > C++ > Dois-je utiliser Array.Resize() ou des listes pour redimensionner dynamiquement des tableaux en C# ?

Dois-je utiliser Array.Resize() ou des listes pour redimensionner dynamiquement des tableaux en C# ?

Linda Hamilton
Libérer: 2024-12-29 02:18:14
original
587 Les gens l'ont consulté

Should I Use Array.Resize() or Lists for Dynamically Resizing Arrays in C#?

Redimensionnement dynamique des tableaux : Array.Resize() vs. Lists

En programmation, les tableaux sont des structures de données de taille fixe, c'est-à-dire leur taille ne peut être modifié après déclaration. Cependant, il existe des situations où la taille du tableau est inconnue au préalable et doit être ajustée dynamiquement. Cela soulève la question : est-il possible de redimensionner un tableau en C# ?

La réponse est à la fois « oui » et « non ». Bien que C# fournisse la méthode Array.Resize(), il est important de noter qu'Array.Resize() ne redimensionne pas techniquement le tableau d'origine. Au lieu de cela, il crée un nouveau tableau avec la taille spécifiée et copie les éléments de l'ancien tableau dans le nouveau. La référence du tableau d'origine est ensuite remplacée par la référence au nouveau tableau.

Exemple :

int[] array1 = new int[10];
int[] array2 = array1;
Array.Resize<int>(ref array1, 20);

// Now:
// array1.Length is 20
// array2.Length is 10
// Two different arrays.
Copier après la connexion

Dans cet exemple, après avoir appelé Array.Resize(), array1 fait référence à un nouveau tableau d'une longueur de 20, tandis que array2 pointe toujours vers le tableau d'origine d'une longueur de 10. Cela signifie que les deux tableaux sont désormais indépendants et que toute modification apportée à l'un d'entre eux n'affectera pas l'autre.

Alternative : utiliser des listes

Si le besoin de redimensionnement dynamique est fréquent, il est recommandé d'utiliser des listes au lieu de tableaux. Les listes sont des structures de données dynamiques qui peuvent automatiquement ajuster leur taille selon les besoins. Contrairement aux tableaux, les listes peuvent être facilement agrandies ou réduites en ajoutant ou en supprimant des éléments.

Exemple :

List<int> list = new List<int>();
list.Add(1);
list.Add(2);

// Get the current size of the list
int size = list.Count;
Copier après la connexion

Le redimensionnement dynamique avec des listes est beaucoup plus pratique et efficace que en utilisant Array.Resize(). Cependant, les tableaux ont toujours leurs propres avantages, comme de meilleures performances pour certaines opérations et la possibilité d'accéder directement aux éléments à l'aide d'index. Le choix entre les tableaux et les listes dépend des exigences spécifiques de l'application.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal