.NET comporte beaucoup de structures de données complexes. Malheureusement, certaines d'entre elles sont assez similaires et je ne sais pas toujours quand utiliser l'une ou l'autre. La plupart de mes livres sur le C# et le VB en parlent dans une certaine mesure, mais ils n'entrent jamais vraiment dans les détails.
Quelle est la différence entre Array, ArrayList, List, Hashtable, Dictionary, SortedList et SortedDictionary ?
Lesquels sont énumérables (IList -- peut faire des boucles 'foreach') ? Lesquels utilisent des paires clé/valeur (IDict) ?
Qu'en est-il de l'empreinte mémoire ? La vitesse d'insertion ? La vitesse de récupération ?
Y a-t-il d'autres structures de données qui méritent d'être mentionnées ?
Je suis toujours à la recherche de plus de détails sur l'utilisation de la mémoire et la vitesse (notation Big-O).
15 votes
Vous devriez décomposer cette question. Vous demandez vingt choses différentes, dont la moitié peut être résolue par une simple recherche sur Google. S'il vous plaît, soyez plus précis ; il est difficile d'aider quand votre question est si dispersée.
36 votes
J'ai pensé à le diviser, mais j'ai réalisé que quelqu'un serait probablement capable de regrouper toutes ces réponses en un seul endroit. En fait, si quelqu'un arrive à créer un tableau présentant tous les profils, cela pourrait devenir une merveilleuse ressource sur ce site.
10 votes
Cette question peut-elle être transformée en wiki ?
1 votes
Ryan, les articles de ce lien ont 14 ans, (12 au moment de la publication). Je les lis moi-même depuis une semaine, mais ils n'incluent pas non plus les nouvelles technologies et ont désespérément besoin d'être mis à jour. Et plus de mesures de performance et d'exemples.
0 votes
Une place pour LinkedList dans votre question ? Je ne fais que demander.
0 votes
@Dracolyte Je crois que cette question est celle que vous vouliez poser et elle a été supprimée.