Generična zbirka je razred, ki zagotavlja varnost tipa, ne da bi izhajal iz osnovnega tipa zbiranja in izvajal člane, značilne za tip. Zbirka, ki ni generična, je specializiran razred za shranjevanje in iskanje podatkov, ki zagotavlja podporo za zloge, čakalne vrste, sezname in razpršitve. The ključna razlika med Generic in Non generic Collection v C # je to generična zbirka je močno vtipkana, medtem ko ni generična zbirka močno vtipkana.
1. Pregled in ključne razlike
2. Kaj je generična kolekcija v C #
3. Kaj je ne-generična zbirka v C #
4. Podobnosti med generično in ne generično zbirko v C #
5. Primerjava ob strani - Generic vs Non Generic Collection v C # v tabeli
6. Povzetek
V zbirkah, ki niso generične narave, kot so ArrayList, čakalna vrsta, stack itd., Lahko shranite elemente različnih podatkovnih vrst. Pri pridobivanju elementov naj jih programer vpiše v pravilno vrsto podatkov. V nasprotnem primeru lahko povzroči izjemo izvajanja. Za premagovanje tega vprašanja lahko uporabite generične razrede zbiranja. Generične zbirke notranje shranjujejo elemente v nizih njihovih dejanskih vrst. Zato vlivanje tipa ni potrebno. Uporabljajo se lahko za shranjevanje elementov določene vrste ali vrst. Nekateri generični razredi zbirke so Seznam, Slovar, SortedList, HashSet, čakalna vrsta, sklad .
GenericList vsebuje elemente določenega tipa. Seznam lahko ustrezno poveča pri dodajanju elementov. Če obstaja izjava na naslednji način, morajo biti vsi elementi, ki jih je mogoče shraniti na seznam1, cela števila,
Seznam seznamov1 - nov seznam ();
Generični slovar v C # je zbirka ključev in vrednosti. Če obstaja izjava na naslednji način, lahko objektni slovar1 shrani tipke int in vrednosti vrste niza.
Slovar slovar1 = nov slovar ();
Zbirka Generic SortedList privzeto shranjuje pare ključev in vrednosti v naraščajočem vrstnem redu. Spodaj prikazuje shranjevanje ključa vrste int in vrednosti vrste niza.
SortedList s0 = nov SortedList ();
To je nekaj primerov za Generic Collection v C #. Te zbirke lahko shranijo več vrednosti določenih vrst podatkov. Torej, močno so natipkani.
Niz se lahko uporablja za shranjevanje več elementov. Ena pomanjkljivost je, da lahko shranjuje elemente iste vrste podatkov. V C # so razredi, ki jih je mogoče uporabiti za shranjevanje številnih vrednosti ali predmetov, znanih kot zbirke. Zbirke pomagajo shranjevati, posodabljati, brisati, iskati, razvrščati predmete. Velikost zbirke se lahko dinamično poveča ali zmanjša.
Nekateri razredi ne generične zbirke so ArrayList, SortedList, Stack, Queue in HashTable. Vsak zbirčni razred ima vmesnik IEnumerable. Pomaga iterati skozi elemente v zbirki s pomočjo zanke foreach.
ArrayList je alternativa matriki. Če obstaja niz, ki lahko shrani 10 elementov, ne more shraniti 20 elementov. Če je matrika inicializirana na 10 elementov, vendar shrani samo 5 elementov, potem preostali del ni uporabljen. Zato je matrika fiksna. V ArrayList je mogoče dodati ali odstraniti elemente, odvisno od indeksa. Omogoča dinamično dodeljevanje pomnilnika. Metodo razvrščanja lahko uporabimo za razvrščanje elementov v naraščajočem vrstnem redu.
HashTable se uporablja za predstavljanje zbirke parov ključnih vrednosti. Organizirani so na podlagi hashCode ključa. Zato ima vsak element par ključnih vrednosti. Ključ lahko uporabite za dostop do določenega elementa v zbirki. Kopček predstavlja zadnji dostop do predmetov. Čakalna vrsta se uporablja najprej za prvi dostop do predmetov. To je nekaj negeneričnih zbirk, ki jih podpira C #. V teh zbirkah so lahko shranjeni elementi različnih vrst.
Generična vs Ne generična kolekcija v C # | |
Generična zbirka je razred, ki zagotavlja varnost tipa, ne da bi izhajal iz osnovnega tipa zbiranja in izvajal člane, značilne za tip. | Zbirka, ki ni generična, je specializiran razred za shranjevanje in iskanje podatkov, ki zagotavlja podporo za zlaganje, čakalne vrste, sezname in tabele hash. |
Imenski prostor | |
Razredi Generic Collection so v sistemu. Zbirke. Generics namespace. | Razredi negenerične zbirke so v sistemu. Imenski prostor zbirk. |
Vtipkajte | |
Generična kolekcija je močno natipkana. | Zbirka, ki ni generična, ni močno tipkana. |
Shranjevanje elementov | |
Generic Collections notranje shranjujejo elemente v nizih njihovih dejanskih vrst. | Negenerične zbirke hranijo elemente znotraj predmetnih nizov, tako da lahko shranjujejo poljubne podatke. |
Ta članek je obravnaval razliko med Generic in Non generic Collection v C #. Razlika med generično in ne generično zbirko je, da je generična zbirka močno vtipkana, medtem ko generična zbirka ni močno vtipkana.
1. "Kdaj uporabljati splošne zbirke." Microsoft Dokumenti. Na voljo tukaj
2. "Generična zbirka v C #." TutorialsTeacher.com. Na voljo tukaj
3. »Zbirka C #:« Zbirka v C #, TutorialsTeacher.com. Na voljo tukaj
4. "Zbirke C #.", Točka vaje, 19. marca 2018. Na voljo tukaj
1.'Logo C Sharp'By Microsoft, (Public Domain) prek Commons Wikimedia