Örneğin C # 'da, diziler Length özelliğine sahiptir. Ancak, listeler vb. Gibi diğer koleksiyon türleri Count özelliğine sahiptir. Bu ikisinin farklı olmasının bir nedeni var mı? Eğer öyleyse bilmek istiyorum.
Örneğin C # 'da, diziler Length özelliğine sahiptir. Ancak, listeler vb. Gibi diğer koleksiyon türleri Count özelliğine sahiptir. Bu ikisinin farklı olmasının bir nedeni var mı? Eğer öyleyse bilmek istiyorum.
Yanıtlar:
Farklı adlandırılırlar çünkü anlamsal olarak oldukça farklıdırlar:
Bir koleksiyonun Sayısı, içinde o anda depolanan öğelerin sayısıdır ve zaman içinde potansiyel olarak değişebilir.
Bir dizinin Uzunluğu, sahip olabileceği maksimum öğe sayısıdır (içinde o kadar fazla öğe saklamamış olsanız bile 10 uzunluğa sahip olacak) ve değişmez.
Örnek:
İçinde maksimum 100 top sığabilecek bir kepçem varsa, uzunluğu 100'dür. Eğer içine 50 top koyarsam, sayısı 50'dir.
10 top daha eklersem Sayı 60 olur ama Uzunluk hala 100'dür. Uzunluğu değiştirmek için farklı bir kovaya ihtiyacım var.
Dizi, muhtemelen Kelime kelimesini kullanır, çünkü başlık altında, öğe boyutuyla çarpılan kapasiteye bağlı olarak bitişik bir bellek bloğu (uzunluk) tahsis eder. Her ne kadar List sınıfının benzer (değişebilir olsa da) bir kavram için "Kapasite" kullandığı gerçeği, dizinin "Uzunluk" kelimesini tarihsel nedenlerle kullanabileceğini ileri sürüyor.
T[]
N uzunluğa sahip A , her zaman tam olarak N türündeki değerleri kaydeder T
. Anlamsal olarak, bu değerlerin tümü anlamlı olmayabilir ( null
örneğin olabilirler ), ama varlar. Bu, kapasitenin normal anlamından farklıdır ( List<T>
örneğin, örneğin). Olmasa Count
da değişebilecek olan haklısın Length
. Sonra tekrar, hiçbir şey Count
değişmeyecek, aslında değişecek. Değişmez koleksiyonlar için de kullanılır.
count
-property olmalıdır .