Maison  >  Article  >  développement back-end  >  Une brève introduction à l'utilisation et aux différences des tableaux, ArrayList, List et Dictionary en C#

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

黄舟
黄舟original
2017-03-23 11:44:011694parcourir

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];

ArrayList :

ArrayList buff = new ArrayList();

Liste :

List<int> buff = new List<int>();

Dictionnaire :

Dictionary<int,string> buff = new Dictionary<int,string>;

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!

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