VBA -sanakirjaobjektit

Sisällysluettelo

VBA -sanakirjan käyttö

VBA -sanakirja toimii samalla tavalla kuin kokoelmaobjekti, mutta sillä on enemmän ominaisuuksia ja menetelmiä sekä enemmän joustavuutta

Sanakirja tallentaa tiedot muistiin ja sitä on helppo käsitellä. Automaattista laskentaa, taustan varmuuskopiointia ja näytön päivittämistä ei tarvita, joten koodisi toimii huomattavasti nopeammin.

Sanakirjaobjekti toimii samalla tavalla kuin tavallinen sanakirja, jota käyttäisit, jos haluat selvittää sanan merkityksen. Jokaisella sanakirjaobjektin merkinnällä on avain- ja kohdearvo. Käytät avainta ’arvo’ etsiäksesi kohteen arvon sanakirjaobjektista samalla tavalla kuin käyttäisit perinteistä sanakirjaa.

Koska sanakirjaobjekti toimii, avainarvojen on oltava yksilöllisiä samalla tavalla kuin perinteisessä sanakirjassa. Kuvitelkaa, jos avasitte tavanomaisen sanakirjanne etsimään sanan merkitystä ja löytäisitte sanan lueteltuna useammin kuin kerran kahdella täysin erilaisella määritelmällä. Olisit hyvin hämmentynyt!

Avainarvot ovat yleensä tekstiä tai numeroita tai molempia. Käyttäjien on usein helpompi muistaa näppäinten nimet tekstinä eikä vain numeroina.

Verrattuna kokoelmaobjektiin kokoelmaobjekti on vain luku. Siinä on vain kaksi tapaa (Lisää ja poista) ja kaksi ominaisuutta (Laske ja Kohde). Kun kohde on lisätty kokoelmaobjektiin, se voidaan poistaa vain, mutta ei muokata, mikä on hankala toimenpide, jos kohteen arvoa on muutettava.

Sanakirjaobjektin koko muuttuu automaattisesti sen kohteiden lukumäärän mukaan. Sitä ei tarvitse määritellä kooltaan, kuten perinteisessä taulukossa

Sanakirjaobjekti on yksiulotteinen ja tietotyyppi on 'Variantti', joten siihen voidaan syöttää mikä tahansa tietotyyppi, esim. numero, teksti, päivämäärä

VBA -sanakirja ei ole natiivi Excelistä, ja se on käytettävä joko varhaisella tai myöhäisellä sitomisella sanakirjaobjektia määritettäessä

123 Sub EarlyBindingExample ()Dim MyDictionary As New Scripting.DictionaryEnd Sub
1234 Sub LateBindingExample ()Dim MyDictionary objektinaAseta MyDictionary = CreateObject ("Scripting.Dictionary")End Sub

Jos käytät varhaista sidontaa, sinun on lisättävä viittaus Microsoft Scripting Runtime -kirjastoon

Voit tehdä tämän valitsemalla Työkalut | Viitteet ”Visual Basic Editor (VBE) -ikkunan valikkorivillä ja ponnahdusikkuna, jossa on luettelo käytettävissä olevista kirjastoista.

Vieritä alas kohtaan Microsoft Scripting Runtime ja valitse sen vieressä oleva valintaruutu. Napsauta OK ja tämä kirjasto on nyt osa VBA -projektiasi, ja siihen voidaan viitata varhaisen sidonnan avulla. Kaikki tämän artikkelin esimerkit käyttävät varhaista sidontaa.

Koodisi toimii huomattavasti nopeammin, kun se sidotaan aikaisin, koska se on koottu etukäteen. Myöhäisessä sidonnassa objekti on käännettävä koodin ajaessa

Scripting Runtime -kirjastossa on Intellisense. Kun kirjoitat koodiasi, näet luettelot käytettävissä olevista menetelmistä ja ominaisuuksista, mikä auttaa estämään oikeinkirjoitusvirheitä, jotka aiheuttavat ohjelmasi virheitä

Jos painat myös F2 -näppäintä VBE: ssä ja valitset komentosarjakirjaston, näet kaikki käytettävissä olevat menetelmät ja ominaisuudet sekä kullekin vaaditut parametrit

Sanakirjaa sisältävän Excel -sovelluksen jakelu

Kuten jo huomautettiin, komentosarjan suoritusaikainen kirjasto ei ole osa Excel VBA: ta, joten jos jaat sovelluksesi muille käyttäjille, heillä on oltava pääsy tietokoneen komentosarjan suoritusaikaan. Jos niitä ei ole, tapahtuu virhe.

On hyvä idea sisällyttää jokin VBA -koodi, jotta voit tarkistaa, että tämä kirjasto on läsnä, kun Excel -sovelluksesi ladataan. Voit käyttää tätä "Dir" -komennolla "Workbook Open" -tapahtumassa

Tiedoston sijainti on C: \ Windows \ SysWOW64 \ scrrun.dll

Sanakirjaobjektin laajuus

Sanakirja -objekti on käytettävissä vain, kun Excel -työkirja on auki. Sitä ei tallenneta, kun työkirja tallennetaan.

Jos sanakirja on kaikkien moduulisi rutiinien käytettävissä, sinun on ilmoitettava se (Dim) moduulin yläosan Ilmoitus -osiossa

Määrität sen globaaliksi objektiksi, jos haluat, että sanakirjaasi käytetään koko koodissasi.

1 Global MyDictionary kuin uusi sanakirja

Täyttäminen ja lukeminen sanakirjastasi

Aluksi sinun on luotava sanakirja, täytettävä se joillakin tiedoilla ja toistettava sen läpi todistaaksesi, että tiedot ovat olemassa

1234567891011 Sub PopulateReadDictionary ()Dim MyDictionary As New Scripting.DictionaryMyDictionary.Lisää "MyItem1", 10MyDictionary.Lisää "MyItem2", 20MyDictionary.Lisää "MyItem3", 30Jos n = 0 MyDictionary.Count - 1MsgBox MyDictionary.Keys (n) & "" & MyDictionary.Items (n)Seuraava nEnd Sub

Tämä koodi luo uuden sanakirjaobjektin nimeltä "MyDictionary" ja täyttää sen sitten kolmella kohteella. Lisää -menetelmällä on kaksi parametria - Avain ja Kohde, ja ne ovat molemmat pakollisia

Avaimen ja kohteen tietotyypit ovat molemmat variantteja, joten ne hyväksyvät kaikenlaiset tiedot - numeeriset, tekstit, päivämäärät jne

Sanakirjan ensimmäinen kohta voidaan lisätä seuraavasti:

1 MyDictionary.Add 10, "MyItem1"

Arvot on käännetty avaimen ja kohteen välillä, mutta tämä toimii edelleen, vaikka hakunäppäimestä tulee nyt 10.

On kuitenkin tärkeää ymmärtää, että avainarvo on sanakirjan hakuarvo. Se toimii hyvin samalla tavalla kuin Excelin VLOOKUP -toiminto. Koska kaikilla avaimilla on oltava yksilöllisiä arvoja, voit määrittää avaimen arvon ja palauttaa heti kyseisen avaimen nimikkeen arvon.

Huomaa, että sanakirjaindeksi alkaa nollasta, joten sinun on vähennettävä 1 For… Next -silmukassa käytetyistä sanakirjoista

Voit myös käyttää For… Jokainen silmukka lukeaksesi sanakirjan arvot:

1234567891011 Sub PopulateReadDictionary ()Dim MyDictionary As New Scripting.Dictionary, I As VariantMyDictionary.Lisää "MyItem1", 10MyDictionary.Lisää "MyItem2", 20MyDictionary.Lisää "MyItem3", 30Jokaiselle I In MyDictionary.KeysMsgBox I & "" & MyDictionary (I)Seuraavaksi minäEnd Sub

Tämä koodi toistuu jokaisen kohteen läpi ja näyttää nimikkeen avaimen ja arvon

Tuoteindeksinumero

Voit lukea arvon avaimen tai kohteen indeksinumerolla

123456789101112 Alaindeksinumerot ()Dim MyDictionary As New Scripting.DictionaryMyDictionary.CompareMode = TekstivertailuMyDictionary.Lisää "Item1", 10MyDictionary.Lisää "Item2", 20MyDictionary.Lisää "Item3", 30MsgBox MyDictionary.Keys (2)MsgBox MyDictionary. Kohteet (1)End Sub

Tämä koodi palauttaa avaimen 'item3', kun indeksi alkaa nollasta ja kohteen arvo 20

Voit viitata yksittäisiin avainten tai kohteiden arvoihin Avaimet- tai Kohteet -kokoelmissa käyttämällä hakemistonumeroita.

Sanakirjan suodattaminen

Tähän ei ole suoraa tapaa, mutta koodin kirjoittaminen on melko yksinkertaista:

1234567891011 AlisuodatinSanakirja ()Dim MyDictionary As New Scripting.DictionaryMyDictionary.Lisää "AAItem1", 10MyDictionary.Lisää "BBItem2", 20MyDictionary.Lisää "BBItem3", 30Jokaiselle suodattimelle (MyDictionary.Keys, "BB")MsgBox MyDictionary.Item (I)Seuraavaksi minäEnd Sub

Suodatinarvo toimii vain avainarvon alusta. Et voi käyttää yleismerkkejä suodattimessa. Tämä koodi palauttaa kaksi nimikkeen arvoa, joiden avainten nimet alkavat "BB"

Tämä antaa sinulle sanakirjan osajoukon suodatinarvon perusteella, jonka voit siirtää toiseen sanakirjaan tai laskentataulukkoon. Suunnittelemalla huolellisesti avainten nimet ja varmistamalla, että jokaisella on mielekäs etuliite, voit helposti jakaa sanakirjan eri osiin.

Avaimen nimikkeen arvon muuttaminen

Sanakirjaobjektilla on suuri etu kokoelmaan nähden, koska kohteen arvoa voidaan muuttaa esim.

1 Oma sanakirja ("MyItem4") = "40"

Kokoelmassa sinun on poistettava kyseinen merkintä ja luotava se sitten uudelleen.

Tässä on esimerkki koodista:

12345678910111213 Sub PopulateReadDictionary ()Dim MyDictionary As New Scripting.DictionaryMyDictionary.Lisää "MyItem1", 10MyDictionary.Lisää "MyItem2", 20MyDictionary.Lisää "MyItem3", 30Oma sanakirja ("MyItem2") = "25"Oma sanakirja ("MyItem4") = "40"Jos n = 0 MyDictionary.Count - 1MsgBox MyDictionary.Keys (n) & "" & MyDictionary.Items (n)Seuraava nEnd Sub

Yllä oleva koodi asettaa kolme kohdetta sanakirjaan ja muuttaa sitten MyItem2 -arvon arvosta 20 arvoon 25.

Se muuttaa myös "MyItem4" -arvon arvoksi 40. Huomaa, että koodin lisäyslausekkeisiin ei lisätty "MyItem4". Kun muutat avaimen arvoa, jota ei ole olemassa, se luodaan automaattisesti. Tämä on erittäin kätevää, koska virhe ei laukea, mutta se tarkoittaa, että sinun on oltava varovainen avainten nimien kanssa. Tahaton kirjoitusvirhe avaimen nimessä tarkoittaisi, että uusi avain luodaan ja alkuperäisellä avaimen nimellä on edelleen vanha arvo.

Tämä voi helposti johtaa sanakirjaobjektin eheysongelmiin.

Testaa, onko avainta olemassa

Voit tarkistaa, onko sanakirjassa avainarvo

123456789 Sub CheckExistsDictionary ()Dim MyDictionary As New Scripting.DictionaryMyDictionary.Lisää "MyItem1", 10MyDictionary.Lisää "MyItem2", 20MyDictionary.Lisää "MyItem3", 30MsgBox MyDictionary.Exists ("MyItem8")End Sub

Koodi lisää kolme kohdetta uuteen sanakirjaobjektiin ja testaa sitten avaimen ("MyItem8"), jota ei ole sanakirjassa. Tämä palauttaa arvon False, mutta jos jotakin olemassa olevista avaimista olisi käytetty, se palauttaisi True

Jokerimerkkejä ei hyväksytä. Hakutekstissä on myös oletuksena isot ja pienet kirjaimet, mutta tätä voidaan muuttaa (katso myöhemmin artikkelissa)

Useiden arvojen käyttäminen sanakirjassa

Toisin kuin taulukko, sanakirjaobjekti on vain yksiulotteinen. Tämä voi aiheuttaa ongelmia, jos sinulla on useita arvoja, jotka haluat asettaa avaimeen.

Yksi tapa kiertää tämä on yhdistää jokainen kohteen arvo käyttämällä erotinmerkkiä jokaisen arvon välissä, esim. '|'

12345678910111213141516171819202122232425262728293031323334 Sub MultipleValues ​​()'Luo sanakirjaobjekti ja muuttujatDim MyDictionary As New Scripting.Dictionary, V1 kokonaislukuna, V2 merkkijononaDim V3 päivämääränä, Temp merkkijonona, N kokonaislukuna'Täytä kolme muuttujaa osoittamaan useita arvojaV1 = 5V2 = "Esimerkki useista arvoista"V3 = "22.7.2020"'Lisää ketjutettu arvo sanakirjaan käyttämällä "|" erotinMyDictionary.Lisää "MyMultipleItem", V1 & "|" & V2 & "|" & V3 & "|"'Tallenna yhdistetyn sanakirjan arvo sanakirjasta muuttujaanLämpötila = Oma sanakirja ("MyMultipleItem")'Toista ketjutetun merkkijonon läpi erottaaksesi yksittäiset arvotTehdä'Etsi erotinN = InStr (lämpötila, "|")'Jos erottimia ei enää ole, poistu Do -silmukastaJos N = 0, lopeta Do'Näytä teksti suhteessa erotinpaikkaanMsgBox vasen (lämpötila, N - 1)'Katkaise ketjutettu merkkijono seuraavaan merkkiin löydetyn erotinmerkin jälkeenLämpötila = keskitaso (lämpötila, N + 1)SilmukkaEnd Sub

Toinen tapa kiertää tämä ongelma on suunnitella oma alikomentojärjestelmä avainten nimille. Ei ole mitään syytä, miksi et käytä hakasulkeita ja numeroita avainten nimissä

1234567891011 Sub MultipleValues ​​()Dim MyDictionary As New Scripting.DictionaryMyDictionary.Lisää "Useita (1)", 5MyDictionary.Add "Useita (2)", "Esimerkki useista arvoista"MyDictionary.Lisää "Useita (3)", "22.7.2020"N = 1 - 3MsgBox MyDictionary ("Useita (" & N & ")")Seuraava N.End Sub

Tämä koodi lisää sanakirjaan kolme avainta, mutta jokainen avaimen nimi sisältää alikomentosarjan numeron suluissa. Voit sitten viitata avaimen nimeen, mutta käyttämällä alikomentosarjan numeroa, joka on yhdistetty sisään. Tämä on hyvin samanlainen kuin taulukko -objektin käyttäminen

Kohteiden poistaminen

Voit poistaa yksittäisiä kohteita avaimen arvon perusteella

1 MyDictionary.Remove (“MyItem2”)

Huomaa, että koska avainten nimet ovat yksilöllisiä, tämä poistaa vain yhden tietyn avaimen ja kohteen arvon

Voit myös tyhjentää sanakirjan kokonaan

1 MyDictionary.RemoveAll

Tässä on esimerkki Poista -toiminnon käyttämisestä VBA: ssa:

12345678910111213141516 Sub RemoveValues ​​()Dim MyDictionary As New Scripting.DictionaryMyDictionary.Lisää "Item1", 10MyDictionary.Lisää "Item2", 20MyDictionary.Lisää "Item3", 30MyDictionary.Remove ("Item2")N = 0 MyDictionary.Count - 1MsgBox MyDictionary.Keys (N) & "" & MyDictionary.Items (N)Seuraava N.MyDictionary.RemoveAllMsgBox MyDictionary.CountEnd Sub

Koodi lisää kolme kohdetta sanakirjaan ja poistaa sitten "Item2". Sen jälkeen se toistetaan sanakirjan kautta todistaakseen, että 'Item2' ei ole enää olemassa

Lopuksi koodi poistaa kaikki sanakirjan kohteet ja näyttää sanakirjojen määrän, joka on nyt nolla.

Kirjainten herkkyyden muuttaminen hauille

Jos etsit avainta, se erottaa oletusarvoisesti isot ja pienet kirjaimet. Voit kuitenkin käyttää tätä ominaisuutta CompareMode -ominaisuudella.

Huomaa, että tämä on tehtävä heti koodissa sanakirjaobjektin luomisen jälkeen, mutta ennen kuin lisäät tietoja sanakirjaan. Kun vertailutila on asetettu, sitä ei voi muuttaa sanakirjassa.

12345678910 Sub ChangeCaseSensitivity ()Dim MyDictionary As New Scripting.DictionaryMyDictionary.CompareMode = TekstivertailuMyDictionary.Lisää "Item1", 10MyDictionary.Lisää "Item2", 20MyDictionary.Lisää "Item3", 30MsgBox MyDictionary.Exists ("item2")End Sub

Tässä esimerkissä vertailutilaksi on asetettu "TextCompare", mikä tarkoittaa, että se ei erota kirjainkokoa. Esimerkin lopussa oleva "olemassa" -lauseke palauttaa arvon True, vaikka hakuteksti on kirjoitettu pienillä kirjaimilla.

Excelissä on vain kaksi arvoa, joita voidaan käyttää vertailutilassa. Binaarinen vertailu erottaa isot ja pienet kirjaimet ja Tekstin vertailu ei erota kirjainkoosta

Jos vertailutilaksi on asetettu Binaarinen vertailu, sinun on oltava varovainen näppäinten nimeämisessä. Jos asetat nimen ensimmäiseksi kirjaimeksi isot kirjaimet, sinun on varmistettava, että muutat arvoa muuttamalla arvoa, kun muutat arvoa. Jos aloitat pienillä kirjaimilla, tämä tulkitaan uutena avaimena ja voi helposti aiheuttaa sekaannusta ja virheitä sanakirjassasi

Muista, että jos muutat avaimen arvoa eikä avaimen nimeä ole olemassa binäärisen vertailun vuoksi, uusi avain ja arvo lisätään sanakirjaan.

Jos käytät sen sijaan tekstin vertailua, kaikki arvomuutokset siirtyvät avaimeen kirjainkoosta riippumatta. Jos yrität lisätä saman kohteen, mutta kirjoitettu eri kirjainkoolla, saat virheilmoituksen, koska se on jo olemassa.

Sanakirjan lajittelu

Kuten kokoelmaobjektin kohdalla, ei ole olemassa menetelmää sanakirjan lajittelemiseksi joko avainten tai kohteen arvojen avulla.

Koska VBA -koodi on kuitenkin Excel -työkirjassa, sanakirjan tiedot voidaan siirtää Exceliin taulukkomuodossa ja sitten Excel -lajittelumahdollisuutta voidaan soveltaa siihen. Sanakirja voidaan tyhjentää käyttämällä RemoveAll -toimintoa ja lajitellut arvot lisätään laskentataulukosta.

Tämä koodi lajittelee sekä avaimet että kohteiden arvot

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 Sub SortMyDictionary ()Dim MyDictionary kuin uusi sanakirjaHimmennyslaskuri yhtä pitkä'Rakenna sanakirja satunnaisessa järjestyksessä olevilla kohteillaMyDictionary.Lisää "Item5", 5MyDictionary.Lisää "Item2", 15MyDictionary.Lisää "Item4", 11MyDictionary.Lisää "Item1", 2MyDictionary.Lisää "Item3", 19'Tallenna sanakirjasta useita kohteita tulevaa käyttöä vartenLaskuri = MyDictionary.Count'Toista sanakirjan kautta kopioimalla jokainen avain ja kohde taulukon 1 soluun (sarake A)N = 0 MyDictionary.Count - 1Sheets ("Sheet1"). Solut (N + 1, 1) = MyDictionary.Keys (N)Sheets ("Sheet1"). Solut (N + 1, 2) = MyDictionary.Items (N)Seuraava N.Aktivoi Sheet1 ja käytä Excel -lajittelurutiinia tietojen lajitteluun nousevaan järjestykseenSheets ("Sheet1"). AktivoiAlue ("A1: B" & MyDictionary.Count) .ValitseActiveWorkbook.Worksheets ("Sheet1"). Sort.SortFields.ClearActiveWorkbook.Worksheets ("Sheet1"). Sort.SortFields.Add2 Key: = Alue (_"A1: A5"), SortOn: = xlSortOnValues, Järjestys: = xlAscending, DataOption: = _xlSortNormalActiveWorkbook.Worksheets ("Sheet1"). Lajittele.SetRange Range ("A1: A5").Header = xlGuess.MatchCase = False.Orientation = xlTopToBottom.SortMethod = xlPinYin.KäytäLopeta'Tyhjennä kaikki sanakirjan kohteetMyDictionary.RemoveAllKopioi soluarvot takaisin tyhjään sanakirjaobjektiin käyttämällä silmukan tallennettua arvoa (laskuri)N = 1 laskuriinMyDictionary.Add Sheets ("Sheet1"). Solut (N, 1) .Arvo, Sheets ("Sheet1"). Solut (N, 2) .ArvoSeuraava N.'Toista sanakirja läpi todistaaksesi, missä järjestyksessä kohteet ovat nytN = 0 MyDictionary.Count - 1MsgBox MyDictionary.Keys (N) & "" & MyDictionary.Items (N)Seuraava N.Tyhjennä laskentataulukko (arkki 1) - poista se myös tarvittaessaArkit ("Sheet1"). Alue (Solut (1, 1), Solut (Laskuri, 2)). KirkasEnd Sub

Tämä koodi luo sanakirjan, johon on lisätty viisi satunnaisjärjestyksen arvoa. Se kerää alkioiden määrän muuttujaan ja toistaa sitten sanakirjan läpi siirtämällä avaimen ja kohteen arvot laskentataulukon erillisiin sarakkeisiin.

Sitten se lajittelee ladatun alueen käyttämällä saraketta A lajittelukenttään. Sanakirja tyhjennetään kokonaan käyttämällä RemoveAll -menetelmää, ja koodi iteroi sitten laskentataulukon soluarvot ja lisää ne takaisin sanakirjaan.

Lopuksi koodi iteroi sanakirjan läpi ja näyttää avaimen ja kohteen arvot, jotka on yhdistetty todistaakseen, että lajittelu on toiminut.

Jos lajittelukoodin parametreja muutetaan, tiedot voidaan lajitella tuotearvojen mukaan.

Avainluettelon kopioiminen laskentataulukkoon

Voit kopioida luettelon kaikista tärkeimmistä arvoista laskentataulukkoon käyttämällä seuraavaa koodia:

12345678910 Sub CopyKeyList ()Dim MyDictionary As New Scripting.DictionaryMyDictionary.CompareMode = TekstivertailuMyDictionary.Lisää "Item1", 10MyDictionary.Lisää "Item2", 20MyDictionary.Lisää "Item3", 30Sheets ("Sheet1"). Alue ("A1"). Arvo = Liity (MyDictionary.Keys, vbLf)End Sub

Tämä tuottaa tuloksen laskentataulukossasi:

Voit kopioida koko sanakirjan laskentataulukkoon käyttämällä tätä koodia:

12345678910 Sub CopyIntoWorksheet ()Dim MyDictionary As New Scripting.DictionaryMyDictionary.Lisää "Item1", 10MyDictionary.Lisää "Item2", 20MyDictionary.Lisää "Item3", 30Alue ("A1"). Muuta kokoa (MyDictionary.Count, 1) = WorksheetFunction.Transpose (MyDictionary.Keys)Alue ("B1"). Muuta kokoa (MyDictionary.Count, 1) = WorksheetFunction.Transpose (MyDictionary.Items)End Sub

Laskentataulukkosi näyttää tältä:

Sanakirjan vertaaminen kokoelmaan

Sanakirja on nopeampi kuin kokoelma.

Kokoelma on jo VBA: ssa. Sanakirja tarvitsee viittauksen Microsoft Scripting Dictionary -ohjelmaan tai objektin luomiseen myöhäisellä sitomisella

Kokoelman voi kirjoittaa vain kerran ja lukea monta kertaa. Sanakirjassa kohteen arvoa voidaan muuttaa. Kokoelmassa kohde on poistettava ja muutettu kohde lisättävä takaisin.

Kokoelma toimii indeksiarvoilla, joita voi olla vaikea selvittää, mikä indeksin arvo kuuluu minne. Sanakirja käsittelee yksilöllisiä avainarvoja, joita käytetään kohteen paikantamiseen

Yksittäisen kohteen haku on suuressa kokoelmassa hitaampaa kuin sanakirjassa

Kokoelmassa avaimia käytetään vain tietojen etsimiseen, eikä niitä voi hakea. Sanakirjassa avainten olemassaolo voidaan testata, ja niitä voidaan käyttää tietyn kohteen etsimiseen.

Kokoelmat erottavat isot ja pienet kirjaimet, eikä tätä voi muuttaa. Sanakirjassa vertailutila voidaan asettaa antamaan isot ja pienet kirjaimet

Kokoelmassa avainarvojen on oltava merkkijonoja. Sanakirjassa ne voivat olla mitä tahansa tietotyyppiä, esim. numero, päivämäärä jne

Kokoelman kaikkien kohteiden poistaminen edellyttää kokoelmaobjektin määrittämistä uudelleen. Sanakirjassa on tätä varten RemoveAll -menetelmä.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave