2009-07-29 3 views
9

Possible en double:
count vs length vs size in a collectionEn C# .NET, quelle est la raison de array.Length vs. list.Count?

Suis-je donnant une différence sémantique entre « Longueur » et « comte », ou ne peut-être des détails de mise en œuvre dans le .NET Framework requièrent des noms différents pour ces semblables concepts? Compte tenu de l'attention particulière qui a été accordée à la dénomination et tout le reste dans le cadre, il doit être une bonne explication.

+0

Ceci est un doublon de [http://stackoverflow.com/questions/300522/count-vs-length-vs-size-in-a-collection/300540](http://stackoverflow.com/questions/ 300522/count-longueur-vs-taille-dans-une-collection/300540) (Vous pouvez trouver une bonne réponse ici, y compris d'autres variations.) – Alex

+0

@Alex Malheureusement, le "doublon" n'est pas lié par C# - en .NET BCL vous vous demandez jamais quand utiliser quoi depuis qu'ils l'ont foutu. – mbx

Répondre

10

En fait, ce sont des concepts similaires mais pas identiques. Comme la longueur d'un tableau est statique et que sa mémoire est allouée une fois pour toutes (int [] intarray = new int [10]; // alloue la mémoire pour 10 ints), la propriété Length est assez statique. Sinon, les Enumerables comme une liste pourraient ne pas connaître leur longueur au préalable, de sorte que le compte de propriété «compte» en quelque sorte la longueur (vous pouvez parcourir tous les éléments associés dans un énumérable). C'est la différence fondamentale.

Questions connexes