Forskellen mellem generisk og ikke-generisk samling i C #

Nøgleforskel - Generisk vs Ikke-Generisk Samling i C #
 

En generisk samling er en klasse, der giver typesikkerhed uden at skulle stamme fra en basissamlingstype og implementere typespecifikke medlemmer. En ikke-generisk samling er en specialiseret klasse til datalagring og -indhentning, der giver support til stabler, køer, lister og hashtables. Det vigtigste forskel mellem Generisk og ikke-generisk samling i C # er det en generisk samling er stærkt indtastet, mens en ikke-generisk samling ikke er stærkt indtastet.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er generisk samling i C #
3. Hvad er ikke-generisk samling i C #
4. Ligheder mellem generisk og ikke-generisk samling i C #
5. Sammenligning side ved side - Generisk kontra ikke-generisk samling i C # i tabelform
6. Resume

Hvad er generisk samling i C #?

De ikke-generiske samlinger som ArrayList, Queue, Stack osv. Kan gemme elementer af forskellige datatyper. Når programmerne skal fås, skal programmereren skrive dem til den korrekte datatype. Ellers kan det forårsage en runtime-undtagelse. De generiske samlingsklasser kan bruges til at overvinde dette problem. Generiske samlinger gemmer elementer internt i matriser af deres faktiske typer. Derfor er støbning af type ikke påkrævet. De kan bruges til at gemme elementer af den eller de specificerede typer eller typer. Nogle generiske samlingsklasser er Liste, ordbog, sorteret liste, HashSet, kø, stabel .

GenericList indeholder elementer af specificeret type. Det kan øge listen i overensstemmelse hermed, når du tilføjer elementer. Når der er en erklæring som følger, skal alle elementer, der kan gemmes på listen1, være heltal,

Listeliste1 - ny liste ();

Den generiske ordbog i C # er en samling nøgler og værdier. Når der er en erklæring som følger, kan objektordbogen1 gemme int-typetaster og strengtypeværdier.

Ordbogsordbog1 = ny ordbog ();

En generisk sorteret lister-samling gemmer nøgle- og værdipar som stigende rækkefølge som nøgle som standard. Nedenfor eksemplet gemmer nøglen til int-typen og værdien af ​​strengtypen.

SortedList s0 = new SortedList ();

Disse er få eksempler på Generisk samling i C #. Disse samlinger kan gemme flere værdier af de specificerede datatyper. Så de er stærkt indtastede.

Hvad er ikke-generisk samling i C #?

Arrays kan bruges til at gemme flere elementer. En ulempe er, at det kan gemme elementer af samme datatype. Der er klasser i C #, der kan bruges til at gemme mange værdier eller objekter kendt som samlinger. Samlinger hjælper med at gemme, opdatere, slette, søge, sortere objekter. Størrelsen på samlingen kan øges eller formindskes dynamisk.

Nogle ikke-generiske samlingsklasser er ArrayList, SortedList, Stack, Queue og HashTable. Hver samlingsklasse implementerer den IEnumerable interface. Det hjælper med at itereere elementerne i elementerne i samlingen ved hjælp af foreach-løkken.

ArrayList er et alternativ til en matrix. Hvis der er en matrix, der kan gemme 10 elementer, kan den ikke gemme 20 elementer. Hvis arrayen initialiseres til 10 elementer, men kun gemmer 5 elementer, er resten ikke brugt. Derfor er en matrix rettet. I en ArrayList er det muligt at tilføje eller fjerne elementer afhængigt af indekset. Det tillader dynamisk hukommelsesallokering. Sorteringsmetoden kan bruges til at sortere elementerne i stigende rækkefølge.

HashTabellen bruges til at repræsentere en samling nøgleværdipar. De er organiseret baseret på hash-koden for nøglen. Derfor har hvert element et nøgleværdipar. Nøglen kan bruges til at få adgang til et bestemt element i samlingen. Stakken repræsenterer den sidste ind, først ud adgang til elementer. Køen bruges til først ved først at få adgang til elementer. Disse er nogle af de ikke-generiske samlinger, der understøttes af C #. Disse samlinger kan gemme elementer af forskellige typer.

Hvad er ligheden mellem generisk og ikke-generisk samling i C #?

  • Både generisk og ikke-generisk samling kan bruges til at gemme flere elementer i C #.

Hvad er forskellen mellem generisk og ikke-generisk samling i C #?

Generisk vs ikke-generisk samling i C #

En generisk samling er en klasse, der giver typesikkerhed uden at skulle stamme fra en basissamlingstype og implementere typespecifikke medlemmer. En ikke-generisk samling er en specialiseret klasse til datalagring og -indhentning, der giver support til stacks, køer, lister og hash-tabeller.
 navnerum
Generic Collection-klasserne er i systemet. Samlinger. Generiske navneområde. De ikke-generiske samlingsklasser findes i systemet. Samlingens navneområde.
Type
En generisk samling er stærkt indtastet. En ikke-generisk samling er ikke stærkt indtastet.
 Opbevaring af elementer
Generiske samlinger gemmer elementer internt i matriser af deres faktiske typer. De ikke-generiske samlinger gemmer elementer internt i objektgrupper, så det kan gemme enhver type data.

Resumé - Generisk vs Ikke-Generisk Samling i C #

Denne artikel diskuterede forskellen mellem generisk og ikke-generisk samling i C #. Forskellen mellem generisk og ikke-generisk samling er, at en generisk samling er stærkt indtastet, mens en ikke-generisk samling ikke er stærkt indtastet.

Reference:

1. "Hvornår skal du bruge generiske samlinger." Microsoft Dokumenter. Tilgængelig her 
2. “Generisk samling i C #.” TutorialsTeacher.com. Tilgængelig her  
3. “C # Collection:” Samling i C #, TutorialsTeacher.com. Tilgængelig her  
4. “C # Collections.”, Tutorials Point, 19. mar. 2018. Findes her

Billede høflighed:

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