Peamine erinevus - üldine vs üldine kollektsioon C #
Üldkogu on klass, mis tagab tüübi ohutuse, ilma et peaks tuletama põhikollektsiooni tüübist ja rakendama tüübispetsiifilisi elemente. Mitte-üldine kogu on andmete salvestamise ja otsimise spetsiaalne klass, mis toetab virnade, järjekordade, loendite ja hashtide tuge. Peamine erinevus üldise ja mitte-üldise kogu vahel C #-s on see, et üldine kogu on tipitud, samas kui mitte-üldine kogu on tugevalt kirjutatud.
SISU
1. Ülevaade ja põhierinevus
2. Mis on üldine kogu C #
3-s. Mis on üldine kogumik C #
4-s. Sarnased sarnasused üldise ja mitte-üldise kogu vahel # #
5. Kõrvuti võrdlus - üldine vs mitte-üldine kogu C # tabelina
6. Kokkuvõte
Mis on üldine kollektsioon C # -s?
Mitte-üldised kogud, näiteks ArrayList, Queue, Stack jne, saavad salvestada erinevat tüüpi andmetüüpe. Üksuste hankimisel peaks programmeerija sisestama need õigele andmetüübile. Muidu võib see põhjustada käitamisaja erandi. Selle probleemi ületamiseks saab kasutada üldkogumisklasse. Üldkogud salvestavad elemente sisemiselt nende tegelikesse massiividesse. Seetõttu pole tüübivalu vajalik. Neid saab kasutada määratud tüüpi või tüüpi elementide salvestamiseks. Mõned üldised kollektsiooniklassid on Loend, Sõnastik, Sortitud Loend, HashSet, Järjekord, Virn.
GenericList sisaldab kindlaksmääratud tüüpi elemente. See võib elementide lisamisel loendit vastavalt suurendada. Kui on järgmine lause, peaksid kõik loendisse1 salvestatavad elemendid olema täisarvud,
Nimekirja loend1 - uus loend ();
Üldine sõnastik C #-s on võtmete ja väärtuste kogu. Kui on järgmine lause, saab objekti sõnastik1 salvestada int-tüüpi võtmed ja stringi tüübi väärtused.
Sõnaraamat sõnastik1 = uus sõnastik ();
Üldine SortedList kogu salvestab võtme- ja väärtuspaarid vaikimisi võtme kasvavas järjekorras. Allpool näide salvestab võtme int tüübi ja stringi tüübi väärtuse.
SortedList s0 = uus SortedList ();
Need on mõned näited C # üldkogumise kohta. Need kogud võivad salvestada mitu määratud andmetüübi väärtust. Niisiis, need on tugevalt kirjutatud.
Mis on C #-s mitte-üldine kogu?
Massiive saab kasutada mitme elemendi salvestamiseks. Üks puudus on see, et see suudab salvestada sama tüüpi andmeid. C # -s on klassid, mida saab kasutada paljude kogumiteks tuntud väärtuste või objektide salvestamiseks. Kogud aitavad objekte salvestada, värskendada, kustutada, otsida ja sortida. Kollektsiooni suurust saab dünaamiliselt suurendada või vähendada.
Mõned mitte-üldised kollektsiooniklassid on ArrayList, SortedList, Stack, Queue ja HashTable. Iga kogumisklass rakendab IEnumerable liidest. See aitab foreach-silmuse abil iteerida kogu kollektsiooni elemente.
ArrayList on massiivi alternatiiv. Kui on massiiv, kuhu saab salvestada 10 elementi, ei saa see salvestada 20 elementi. Kui massiiv initsialiseeriti 10 elemendiks, kuid salvestatakse ainult 5 elementi, siis ülejäänud osa ei kasutata. Seetõttu on massiiv fikseeritud. ArrayListis on võimalik elemente lisada või eemaldada sõltuvalt indeksist. See võimaldab dünaamilist mälu jaotamist. Sorteerimismeetodit saab kasutada elementide sortimiseks kasvavas järjekorras.
HashTable-i kasutatakse põhiväärtuste paaride kogu esindamiseks. Need on korraldatud võtme hashCode'i põhjal. Seetõttu on igal elemendil põhiväärtuste paar. Võtit saab kasutada kollektsiooni konkreetse elemendi juurde pääsemiseks. Virn tähistab viimast sisse- ja väljapääsu üksustele. Järjekorda kasutatakse üksuste esmalt sisse-välja pääsemiseks. Need on mõned mitte-üldised kogud, mida toetab C #. Need kollektsioonid võivad salvestada erinevat tüüpi elemente.
Milline on üldise ja mittegeneerilise kollektsiooni sarnasus C # -s?
Nii üld- kui ka mitteregulaarset kogu saab kasutada mitme elemendi salvestamiseks C # -i
Mis vahe on üldise ja mitteregulaarse kollektsiooni vahel C # -s?
Erinev artikkel keskel enne tabelit
Üldine vs üldine kollektsioon C # |
|
Üldkogu on klass, mis tagab tüübi ohutuse, ilma et peaks tuletama põhikollektsiooni tüübist ja rakendama tüübispetsiifilisi elemente. | Mitte-üldine kogu on andmete salvestamise ja otsimise spetsiaalne klass, mis toetab virnade, järjekordade, loendite ja räsitabelite toetamist. |
Nimeruum | |
Klassid Generic Collection asuvad süsteemis. Kogud. Generics nimeruum. | Klassid Non-Generic Collection on süsteemis. Kogude nimeruum. |
Tüüp | |
Üldine kogu on tugevalt kirjutatud. | Mitte-üldine kogu ei ole tugevalt kirjutatud. |
Elementide salvestamine | |
Üldkogud salvestavad elemendid sisemiselt nende tegelikesse massiividesse. | Mitte-üldised kollektsioonid salvestavad elemente sisemiselt objektimassiividesse, nii et see võib salvestada mis tahes tüüpi andmeid. |
Kokkuvõte - üldine vs üldine kogumik C #
Selles artiklis käsitleti erinevust üldise ja mitte-üldise kollektsiooni vahel C # -s. Erinevus üldise ja mitte-üldise kollektsiooni vahel on see, et üldine kogu on tipitud, samas kui mitte-üldine kogu on tugevalt kirjutatud.