Forskjellen mellom generisk og ikke-generisk samling i C #

Nøkkelforskjell - Generisk vs Ikke Generic Samling i C #
 

En generisk samling er en klasse som gir type sikkerhet uten å måtte utlede fra en base samling type og implementere typespesifikke medlemmer. En ikke-generisk samling er en spesialisert klasse for datalagring og gjenfinning som gir støtte for stabler, køer, lister og hashtables. De nøkkelforskjell mellom generisk og ikke-generisk samling i C # er det en generisk samling er sterkt skrevet mens en ikke-generisk samling ikke er sterkt skrevet.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er Generisk samling i C #
3. Hva er ikke-generisk samling i C #
4. Likheter mellom generisk og ikke-generell samling i C #
5. Side ved side-sammenligning - Generisk vs Ikke-generisk samling i C # i tabellform
6. Sammendrag

Hva er Generisk samling i C #?

De ikke-generiske samlingene som ArrayList, Queue, Stack, etc. kan lagre elementer av forskjellige datatyper. Når du får elementene, må programmereren skrive inn dem til riktig datatype. Ellers kan det føre til et kjøretids unntak. De generiske samlingsklassene kan brukes til å løse dette problemet. Generiske samlinger lagrer elementer internt i arrays av deres faktiske typer. Derfor er ikke type avstøpning nødvendig. De kan brukes til å lagre elementer av spesifisert type eller typer. Noen generiske samlingsklasser er List, Dictionary, SortedList, HashSet, Queue, Stack .

GenericList inneholder elementer av spesifisert type. Det kan øke listen tilsvarende når du legger til elementer. Når det er en setning som følger, bør alle elementene som kan lagres i listen1 være heltall,

Listeliste1 - Ny liste ();

Den generiske ordboken i C # er en samling av nøkler og verdier. Når det er en setning som følger, kan objektordlisten1 lagre int type taster og streng type verdier.

Ordbok dictionary1 = ny ordbok ();

En generisk SortedList-samling lagrer nøkkel- og verdipar i stigende rekkefølge av nøkkel som standard. Nedenfor eksempel lagrer du nøkkelen til int type og verdi av strengtype.

SortedList s0 = new SortedList ();

Det er få eksempler på generisk samling i C #. Disse samlingene kan lagre flere verdier av de angitte datatyper. Så, de er sterkt skrevet.

Hva er ikke-generisk samling i C #?

Arrays kan brukes til å lagre flere elementer. En ulempe er at den kan lagre elementer av samme datatype. Det finnes klasser i C # som kan brukes til å lagre mange verdier eller objekter kjent som samlinger. Samlinger hjelper deg med å lagre, oppdatere, slette, søke, sortere objekter. Størrelsen på samlingen kan økes eller reduseres dynamisk.

Noen ikke-generiske samlingsklasser er ArrayList, SortedList, Stack, Queue og HashTable. Hver samlingsklasse implementerer det IEnumerable grensesnittet. Det bidrar til å iterere gjennom elementene i elementene i samlingen ved hjelp av foreach-sløyfen.

ArrayList er et alternativ til en matrise. Hvis det finnes en matrise som kan lagre 10 elementer, kan den ikke lagre 20 elementer. Hvis arrayet initialisert til 10 elementer, men bare lagrer 5 elementer, er resten en ikke brukt. Derfor er en rekkefølge løst. I en ArrayList er det mulig å legge til eller fjerne elementer avhengig av indeksen. Det tillater dynamisk minneallokering. Sorteringsmetoden kan brukes til å sortere elementene i stigende rekkefølge.

HashTable brukes til å representere en samling av nøkkelverdierpar. De er organisert basert på nøkkelens hashCode. Derfor har hvert element et nøkkelverdierpar. Nøkkelen kan brukes til å få tilgang til et bestemt element i samlingen. Stakken representerer sist, først ut tilgang til elementer. Køen brukes til først i første utgang av elementer. Det er noen av de ikke-generiske samlingene støttet av C #. Disse samlingene kan lagre elementer av forskjellige typer.

Hva er likheten mellom generisk og ikke-generisk samling i C #?

  • Både generisk og ikke-generisk samling kan brukes til å lagre flere elementer i C #.

Hva er forskjellen mellom generisk og ikke-generisk samling i C #?

Generisk vs ikke-generisk samling i C #

En generisk samling er en klasse som gir type sikkerhet uten å måtte utlede fra en base samling type og implementere typespesifikke medlemmer. En ikke-generisk samling er en spesialisert klasse for datalagring og gjenfinning som gir støtte for stabler, køer, lister og hashbord.
 namespace
Klassene Generic Collection er i systemet. Samlinger. Generics namespace. Klassene som ikke er generisk samling er i systemet. Samlinger namespace.
Type
En generisk samling er sterkt skrevet. En ikke-generisk samling er ikke sterkt skrevet.
 Lagring av elementer
The Generic Collections lager elementer internt i arrayer av deres faktiske typer. De ikke-generiske samlingene lagrer elementer internt i objektet, så det kan lagre alle typer data.

Sammendrag - Generisk vs Ikke Generic Samling i C #

Denne artikkelen diskuterte forskjellen mellom generisk og ikke-generisk samling i C #. Forskjellen mellom generisk og ikke-generisk samling er at en generisk samling er sterkt skrevet mens en ikke-generisk samling ikke er sterkt skrevet.

Henvisning:

1. "Når skal du bruke generiske samlinger." Microsoft Docs. Tilgjengelig her 
2. "Generisk samling i C #." TutorialsTeacher.com. Tilgjengelig her  
3. "C # Collection:" Samling i C #, TutorialsTeacher.com. Tilgjengelig her  
4. "C # Samlinger.", Tutorials Point, 19. mars 2018. Tilgjengelig her

Bilde Courtesy:

1.'Logo C Sharp'By Microsoft , (Offentlig domene) via Commons Wikimedia