Une brève introduction à l'utilisation et aux différences des tableaux, ArrayList, List et Dictionary en C#

黄舟
Libérer: 2017-03-23 11:44:01
original
1747 Les gens l'ont consulté

Dans mon travail, je rencontre souvent C#Array, ArrayList, List et Dictionary pour accéder aux données, mais qui dois-je choisir ? Quel type de données est stocké ? Je suis très confuse. Aujourd'hui, j'ai pris le temps de trier ce contenu pour vous. Les amis qui en ont besoin peuvent s'y référer

Avant-propos

Au travail, je rencontre souvent des tableaux C#, ArrayList, List et Dictionary pour accéder aux données, mais en tant que débutant, je ne sais jamais quel type choisir pour stocker les données. J'ai donc pris le temps d'examiner de plus près leur utilisation et leur comparaison, et je les ai résumés ici. Je le mettrai à jour plus tard si des améliorations doivent être apportées.

Initialisation

Tableau :

int[] buff = new int[6];
Copier après la connexion

ArrayList :

ArrayList buff = new ArrayList();
Copier après la connexion

Liste :

List<int> buff = new List<int>();
Copier après la connexion

Dictionnaire :

Dictionary<int,string> buff = new Dictionary<int,string>;
Copier après la connexion

Analyse Comparez

A partir des types initialisés ci-dessus, on voit qu'ils appartiennent tous au type référence . Parmi eux, les tableaux, les listes et les dictionnaires doivent spécifier leurs types d'éléments lors de l'initialisation, tandis qu'ArrayList n'a pas besoin de spécifier le type. Et dans celui-ci, seul le tableau a sa taille définie lors de l'initialisation.

Tableau : Sa taille et son type doivent être précisés lors de l'initialisation. Il est stocké en continu en mémoire, on voit donc que la vitesse d'indexation du tableau est très rapide. Après avoir déterminé la longueur et le type du tableau, il est préférable de choisir un tableau pour stocker les données. Ne convient pas aux opérations d'insertion.

 ArrayList : Il n'est pas nécessaire de spécifier sa taille et son type lors de l'initialisation. Il peut stocker différents types de données, mais cela entraînera un boxing et un unboxing pendant le processus de stockage et de récupération, ce qui réduit les performances. Facile à insérer.

List : Son type doit être spécifié lors de l'initialisation, mais la taille n'a pas besoin d'être spécifiée, elle ne provoquera donc pas d'opérations de boxing et de unboxing pendant le processus d'accès comme ArraryList. Dans le cas du même type, les performances de List et array sont équivalentes. Facile à insérer.

Dictionnaire : Son type doit également être spécifié lors de l'initialisation, et il doit également spécifier une Clé, et cette Clé est unique. Pour cette raison, l’indexation du dictionnaire est très rapide. Mais aussi parce qu’il ajoute une clé, le dictionnaire prend plus d’espace mémoire que les autres types. Il recherche des éléments via Key et l'ordre des éléments est incertain.

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal