Razlika između generičke i ne generičke kolekcije u C #

Ključna razlika - Generic vs Non-općenito Zbirka u C #
 

Generička kolekcija je klasa koja pruža sigurnost tipa bez da mora potjecati iz osnovne vrste kolekcije i implementirati članove specifične za tip. Zbirka koja nije generička je specijalizirana klasa za pohranu i preuzimanje podataka koja pruža podršku za hrpe, redove, liste i popise. ključna razlika između Generic i Non generic Collection u C # je to Generička kolekcija je snažno tipkana, dok Non-Generic Collection nije snažno tipkana.

SADRŽAJ

1. Pregled i ključne razlike
2. Što je generička kolekcija u C #
3. Što je ne generička kolekcija u C #
4. Sličnosti između generičke i ne-generičke kolekcije u C #
5. Usporedna usporedba - Generička vs Non generička kolekcija u C # u tabelarnom obliku
6. Sažetak

Što je generička kolekcija u C #?

Ne generičke zbirke kao što su ArrayList, Queue, Stack itd. Mogu pohraniti elemente različitih vrsta podataka. Prilikom dobivanja stavki, programer bi ih trebao unijeti u odgovarajuću vrstu podataka. Inače, to može uzrokovati izuzetak tokom izvođenja. Za prevazilaženje ovog problema mogu se koristiti predavanja generičke kolekcije. Generičke kolekcije pohranjuju elemente unutar nizova njihovih stvarnih vrsta. Stoga nije potrebno lijevanje tipa. Oni se mogu koristiti za pohranu elemenata određene vrste ili tipova. Neke generičke kolekcijske klase su Popis, Rječnik, SortedList, HashSet, Queue, Stack .

GenericList sadrži elemente određenog tipa. U skladu s tim može povećati popis dodavanjem elemenata. Kada postoji sljedeća izjava, svi elementi koji se mogu pohraniti na popis1 trebali bi biti cijeli brojevi,

List list1 - novi List ();

Generički rječnik u C # je zbirka ključeva i vrijednosti. Kada postoji naredba kako slijedi, objektni rječnik1 može pohraniti int tipke i vrijednosti vrste niza.

Rječnik rječnik1 = novi rječnik ();

Generička zbirka SortedList zadano sprema parove ključeva i vrijednosti u rastućem redoslijedu ključeva. Ispod primjera pohranjuju se ključ vrste int i vrijednost vrste niza.

SortedList s0 = novi SortedList ();

Ovo je nekoliko primjera za Generic Collection u C #. Te zbirke mogu pohraniti više vrijednosti navedenih vrsta podataka. Dakle, snažno su tipizirani.

Što je ne generička kolekcija u C #?

Nizovi se mogu koristiti za spremanje više elemenata. Jedan nedostatak je taj što može pohraniti elemente iste vrste podataka. U C # razredu postoje klase koje se mogu koristiti za spremanje mnogih vrijednosti ili objekata poznatih kao zbirke. Zbirke pomažu u pohrani, ažuriranju, brisanju, pretraživanju, sortiranju objekata. Veličina zbirke može se dinamički povećavati ili smanjivati.

Neke generičke kolekcijske klase su ArrayList, SortedList, Stack, Queue i HashTable. Svaka klasa kolekcije implementira IEnumerable sučelje. Pomaže u ponavljanju elemenata predmeta iz kolekcije pomoću petlje foreach.

ArrayList je alternativa polju. Ako postoji niz koji može pohraniti 10 elemenata, on ne može pohraniti 20 elemenata. Ako se niz inicijalizira na 10 elemenata, ali pohranjuje samo 5 elemenata, tada se ostatak ne koristi. Stoga je fiksan niz. U ArrayListu je moguće dodavati ili uklanjati elemente ovisno o indeksu. Omogućuje dinamičku raspodjelu memorije. Metoda sortiranja može se koristiti za sortiranje elemenata uzlaznim redoslijedom.

HashTable se koristi za predstavljanje zbirke parova ključnih vrijednosti. Organizirani su na temelju hashCode ključa. Stoga svaki element ima par ključeva vrijednosti. Ključ se može koristiti za pristup određenom elementu kolekcije. Korak predstavlja posljednji pristup, prvi pristup stavkama. Red čekanja koristi se za prvi pristup stavkama. To su neke od ne generičkih zbirki koje podržava C #. Te zbirke mogu pohraniti elemente različitih vrsta.

Kakva je sličnost između generičke i ne generičke kolekcije u C #?

  • I Generic i Non Generic Collection mogu se koristiti za pohranu više elemenata u C #.

Koja je razlika između generičke i ne generičke kolekcije u C #?

Generička vs Non generička kolekcija u C #

Generička kolekcija je klasa koja pruža sigurnost tipa bez da mora potjecati iz osnovne vrste kolekcije i implementirati članove specifične za tip. Negenerička kolekcija je specijalizirana klasa za pohranu i pretraživanje podataka koja pruža podršku za stokove, redove, liste i hash tablice.
 Prostor
Klase Generic Collection su u sustavu. Zbirke. Generički prostor imena. Klase negeneričke kolekcije nalaze se u sustavu. Zbirka imena zbirki.
Tip
Generička kolekcija je snažno tipizirana. Kolekcija koja nije generična nije snažno napisana.
 Pohranjivanje elemenata
Generičke kolekcije pohranjuju elemente unutar nizova njihovih stvarnih vrsta. Negeneričke zbirke pohranjuju elemente interno u objektne nizove, tako da mogu pohraniti bilo koju vrstu podataka.

Sažetak - Generički vs Non-općenito Zbirka u C #

Ovaj članak govori o razlici između Generičke i Non-generic Collection u C #. Razlika između generičke i ne generičke kolekcije je u tome što je generička kolekcija snažno tipkana, dok ne generička kolekcija nije snažno tipkana..

Referenca:

1. "Kada koristiti generičke kolekcije." Microsoft Dokumenti. Dostupno ovdje 
2. "Generička kolekcija u C #." TutorialsTeacher.com. Dostupno ovdje  
3. "Kolekcija C #:" Zbirka u C #, TutorialsTeacher.com. Dostupno ovdje  
4. „C # Zbirke.“, Tutorials Point, 19. ožujka 2018. Dostupno ovdje

Ljubaznošću slike:

1.'Logo C Sharp'By Microsoft, (Public Domain) putem Commons Wikimedia