Forskellen Mellem Generisk Og Ikke-generisk Samling I C

Indholdsfortegnelse:

Forskellen Mellem Generisk Og Ikke-generisk Samling I C
Forskellen Mellem Generisk Og Ikke-generisk Samling I C

Video: Forskellen Mellem Generisk Og Ikke-generisk Samling I C

Video: Forskellen Mellem Generisk Og Ikke-generisk Samling I C
Video: Лукашенко — отрезанный ломоть! Запад наконец-то понял с кем имеет дело: Ему плевать на людей 2024, November
Anonim

Nøgleforskel - Generisk vs ikke-generisk samling i C #

En generisk samling er en klasse, der giver typesikkerhed uden at skulle stamme fra en basesamlingstype og implementere typespecifikke medlemmer. En ikke-generisk samling er en specialiseret klasse til datalagring og hentning, der yder support til stakke, køer, lister og hashtables. Hovedforskellen mellem generisk og ikke-generisk samling i C # er, at en generisk samling er stærkt skrevet, mens en ikke-generisk samling ikke er stærkt skrevet.

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 om side - Generisk vs ikke-generisk samling i C # i tabelform

6. Oversigt

Hvad er generisk samling i C #?

De ikke-generiske samlinger som ArrayList, Queue, Stack osv. Kan gemme elementer af forskellige datatyper. Når man henter emnerne, skal programmøren skrive cast dem til den korrekte datatype. Ellers kan det medføre en runtime-undtagelse. De generiske indsamlingsklasser kan bruges til at løse dette problem. Generiske samlinger gemmer elementer internt i arrays af deres faktiske typer. Derfor er typen støbning ikke påkrævet. De kan bruges til at gemme elementer af den eller de specificerede typer. Nogle generiske samlingsklasser er Liste, Ordbog, SortedList, HashSet, Kø, Stak.

Forskellen mellem generisk og ikke-generisk samling i C #
Forskellen mellem generisk og ikke-generisk samling i C #

GenericList indeholder elementer af specificeret type. Det kan øge listen i overensstemmelse hermed, når der tilføjes elementer. Når der er en erklæring som følger, skal alle de elementer, der kan gemmes på listen1, være heltal, Liste liste1 - ny liste ();

Generic Dictionary i C # er en samling nøgler og værdier. Når der er en erklæring som følger, kan objektordbogen1 gemme intypetaster og strengtypeværdier.

Ordbog ordbog1 = ny ordbog ();

En generisk SortedList-samling gemmer nøgle- og værdipar i stigende rækkefølge af nøgle som standard. Nedenstående eksempel gemmer nøgle af int-type og værdi af strengtype.

SortedList s0 = ny SortedList ();

Disse er få eksempler på generisk samling i C #. Disse samlinger kan gemme flere værdier for de angivne datatyper. Så de er stærkt skrevet.

Hvad er ikke-generisk samling i C #?

Arrays kan bruges til at gemme flere elementer. En ulempe er, at den 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. Samlingens størrelse kan øges eller formindskes dynamisk.

Nogle ikke-generiske samlingsklasser er ArrayList, SortedList, Stack, Queue og HashTable. Hver samlingsklasse implementerer det IEnumrerbare interface. Det hjælper med at gentage elementerne i elementerne i samlingen ved hjælp af foreach-sløjfen.

ArrayList er et alternativ til en matrix. Hvis der er en matrix, der kan gemme 10 elementer, kan den ikke gemme 20 elementer. Hvis arrayet initialiseret til 10 elementer, men kun gemmer 5 elementer, er resten ikke brugt. Derfor er en matrix fast. 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.

HashTable bruges til at repræsentere en samling af nøgleværdipar. De er organiseret ud fra hashCode 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 varer. Køen bruges til først ind og ud adgang til varer. 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 #?

Diff artikel midt foran bordet

Generisk vs ikke-generisk samling i C #

En generisk samling er en klasse, der giver typesikkerhed uden at skulle stamme fra en basesamlingstype og implementere typespecifikke medlemmer. En ikke-generisk samling er en specialiseret klasse til datalagring og hentning, der understøtter stakke, køer, lister og hash-tabeller.
Navneområde
Generiske samlingsklasser findes i systemet. Samlinger. Generisk navneområde. Ikke-generiske samlingsklasser findes i systemet. Samlinger navneområde.
Type
En generisk samling er stærkt skrevet. En ikke-generisk samling er ikke stærkt skrevet.
Opbevaring af elementer
Generiske samlinger gemmer elementer internt i arrays af deres faktiske typer. De ikke-generiske samlinger gemmer elementer internt i objektarrays, så det kan gemme alle typer 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 skrevet, mens en ikke-generisk samling ikke er stærkt skrevet.

Anbefalet: