Bildiğim kadarıyla, VBA Koleksiyonu bir bağlı liste (Tamsayı dizinleri ve Her Biri için ... İleri) ve bir karma tablosu (tuşlarla kullanılır) olarak uygulanır. Ve Raven'ın söylediği gibi, aynı anahtara sahip birden fazla öğeye sahip olamazsınız.
Düzenlendi:
@MarkJ: Hardcore Visual Basic 2. Baskı: Bunun için alıntı Gözat vermeliydim. Microsoft Press 1997 ISBN tarafından yayınlanan Bruce McKinney, tarafından 1-57231-422-2
alıntılar:
Sayfa 191 - Koleksiyon Sınıf
"Basitçe söylemek gerekirse
, Koleksiyon sınıfı souped- olduğunu CList sınıfının C++ sürümüne kadar [...]. Aslında, eğer ikili bir bağlantılı liste olmak için CList'i geliştirirseniz ve ona birkaç özellik daha eklerseniz (ve belki de string tuşlarını aramak için bir karma tablo kullanın) Visual Basic ile sağlanan gibi bir koleksiyon sınıf var. "
Sayfa 197 - Performans
"Ve aslında bir konu olarak, ben Koleksiyonları iki kat (indeksleme desteklemek için ek özellikler ile) listeleri bağlantılı olduğunu Visual Basic geliştiriciler tarafından söylendi."
Şimdi, McKinney bir programcıdan değil, bir geliştiriciden daha çok gazeteciydi. Ancak Microsoft için çalışıyor ve VB ve VBA takımlarında temas kuruyor. Onun açıklaması benim için çalışıyor.
Bu arada, iki bağlı listenin sebebi, öğeleri koleksiyonun hem başında hem de sonunda eklemek için etkili olmasını sağlamaktır.
** VB6 Koleksiyonunda aynı tuşa sahip birden çok öğeye ** sahip olamazsınız. – raven
Bunu test ettiniz mi? Bu zamanı yarın test edeceğim ... Aynı anahtarı eklemenin bir sorun olmadığını düşünmüştüm. –
NO anahtarıyla birden fazla öğe eklemek tamam, ancak anahtarlar, duyarsızca benzersizdir (Seçenek Karşılaştırma bildirimi ne olursa olsun). –