Erinevus sõnastiku ja rämpsposti vahel

Sõnastik vs Hashtable

Sõnaraamat on trükitud (väärtusetüübid ei vaja ümardamist), räsitav mitte (s-tüüpi väärtustüübid peavad olema ümardatud). Hashtablel on väärtuse leidmiseks ilusam viis kui sõnastikus IMHО, sest alati on teada, et väärtus on objekt. Kui kasutate .NET 3.5, siis on samamoodi lihtne käituda ka sõnastiku jaoks, et saada samalaadne käitumine..

Hashtable klass on konkreetset tüüpi sõnastiku klass, mis kasutab täisarvu (nn räsi), et aidata selle klahve salvestada. Klass Hashtable kasutab räsi, et kiirendada konkreetse võtme otsimist valikus. Iga .NET-i objekt on pärit objektide klassist. See klass asendab meetodit GetHash, mis tagastab täisarvu, mis ainulaadselt tuvastab objekti. Hashtable klass on üldiselt väga tõhus plastik. Klassi Hashtable puhul on ainus probleem see, et see nõuab natuke päist ja väikeste (vähem kui kümne elemendi alla kuuluvate) optiliste otste korral võib päis takistada toimimist.

HashTable ja sõnastiku vahel on palju olulisemaid erinevusi. Kui kasutate indekseerijaid, et saada HashTable-i väärtust, tagastab HashTable olematu üksuse jaoks nulli, seevastu sõnastik näitab vea, kui proovite üksusele juurde pääseda indekseerija abil, mida sõnastikus pole..

HashTable on nõrgalt kirjutatud põhiklass; DictionaryBase abstraktne klass on tipptasemel trükitud ja kasutab sisemiselt HashTable-d.

Kui sõnaraamatusse mitu kannet lisada, on kummaline asi, mida mitu sõna kirjesse lisame, säilitatakse järjekord, kuhu kirjed lisatakse. Seega, kui rakendate sõnastikus otsingut, saate värskendusdokumendid samasse kohta, kuhu olete need lisanud. Kui see pole tavalise HashTable'i puhul tõene, siis kui lisate samad standardid jaotisesse Hashtable, siis seda ei säilitata. Kui tõend „Sõnaraamat põhineb rämpspostil” on tõene, siis miks säilitab sõnaraamat kõige uuemat, kuid HashTable seda ei tee?

Seetõttu, miks nad käituvad erinevalt, on põhjus, et Generic Dictionary rakendab räsitavat, kuid ei põhine System.Cоllectiоns.Hashtable. Üldise sõnastiku juurutamine põhineb võtme-väärtuse paaride leidmisel loendist. Seejärel indekseeritakse need juhusliku juurdepääsuga koppidega, kuid kui loend loendi tagasi saadakse, kõnnib see nimekiri järjestikku - mis on sissetungimise järgmine samm, kuna kirjeid ei kasutata uuesti.