2009-07-29 6 views
9

Eventuali duplicati:
count vs length vs size in a collectionIn C# .NET, qual è la ragione per array.Length vs. list.Count?

sono io che domina una differenza semantica tra "Lunghezza" e "conte", o ha forse qualche dettaglio di implementazione in .NET Framework richiedono nomi diversi per questi simili concetti? Considerata la particolare attenzione prestata alla denominazione e a tutto il resto del framework, deve essere una buona spiegazione per.

+0

Questo è un duplicato di [http://stackoverflow.com/questions/300522/count-vs-length-vs-size-in-a-collection/300540](http://stackoverflow.com/questions/ 300522/count-vs-length-vs-size-in-a-collection/300540) (Puoi trovare una buona risposta anche in altre variazioni.) – Alex

+0

@Alex Sfortunatamente il "duplicato" non è C# - in .NET BCL vi siete mai chiesti quando usare cosa da quando l'hanno scopato. – mbx

risposta

10

In realtà si tratta di concetti simili ma non identici. Poiché la lunghezza di una matrice è statica e la sua memoria viene allocata una volta per tutte (int [] intarray = new int [10]; // alloca la memoria per 10 ints) la proprietà Length è abbastanza statica. Altrimenti gli Enumerabili come una Lista potrebbero non conoscere la loro Lunghezza in anticipo, quindi il Conte delle Proprietà in qualche modo "conterà" la lunghezza (si potrebbe ripetere tutti gli elementi associati in una enumerabile). Questa è la differenza fondamentale.

Problemi correlati