Nyckelskillnad - Generisk vs icke-generisk samling i C #
En generisk samling är en klass som ger typsäkerhet utan att behöva härledas från en basuppsamlingstyp och implementera typspecifika medlemmar. En icke-generisk samling är en specialklass för datalagring och hämtning som ger stöd för stackar, köer, listor och hashtables. Huvudskillnaden mellan generisk och icke-generisk samling i C # är att en generisk samling är starkt skriven medan en icke-generisk samling inte är starkt skriven.
INNEHÅLL
1. Översikt och nyckelskillnad
2. Vad är generisk samling i C #
3. Vad är icke-generisk samling i C #
4. Likheter mellan generisk och icke-generisk samling i C #
5. Jämförelse sida vid sida - Generisk vs icke-generisk samling i C # i tabellform
6. Sammanfattning
Vad är generisk samling i C #?
Icke-generiska samlingar som ArrayList, Queue, Stack, etc. kan lagra element av olika datatyper. När du skaffar objekten ska programmeraren skriva cast dem till rätt datatyp. Annars kan det orsaka ett runtime-undantag. De generiska insamlingsklasserna kan användas för att lösa problemet. Generiska samlingar lagrar element internt i arrays av deras faktiska typer. Därför krävs inte typgjutning. De kan användas för att lagra element av den eller de angivna typerna. Vissa generiska samlingsklasser är List, Dictionary, SortedList, HashSet, Queue, Stack.
GenericList innehåller element av specificerad typ. Det kan öka listan i enlighet därmed när element läggs till. När det finns ett uttalande enligt följande bör alla element som kan lagras i listan vara heltal,
Listlista1 - ny lista ();
Generic Dictionary i C # är en samling nycklar och värden. När det finns ett uttalande enligt följande kan objekt ordlistan1 lagra intyp nycklar och sträng typ värden.
Ordbok ordlista1 = ny ordbok ();
En generisk SortedList-samling lagrar nyckel- och värdepar i stigande ordning på nyckel som standard. Nedanstående exempel lagrar nyckel av int-typ och värde för strängtyp.
SortedList s0 = ny SortedList ();
Dessa är några exempel för Generic Collection i C #. Dessa samlingar kan lagra flera värden för de angivna datatyperna. Så de är starkt skrivna.
Vad är icke-generisk samling i C #?
Arrays kan användas för att lagra flera element. En nackdel är att den kan lagra element av samma datatyp. Det finns klasser i C # som kan användas för att lagra många värden eller objekt som kallas samlingar. Samlingar hjälper till att lagra, uppdatera, ta bort, söka, sortera objekt. Samlingens storlek kan ökas eller minskas dynamiskt.
Vissa icke-generiska samlingsklasser är ArrayList, SortedList, Stack, Queue och HashTable. Varje samlingsklass implementerar det IEnumrerbara gränssnittet. Det hjälper till att itera igenom elementen i objekten i samlingen med hjälp av foreach-slingan.
ArrayList är ett alternativ till en array. Om det finns en matris som kan lagra 10 element kan den inte lagra 20 element. Om matrisen initialiserades till 10 element men bara lagrar 5 element, så används resten inte. Därför är en array fixad. I en ArrayList är det möjligt att lägga till eller ta bort element beroende på index. Det möjliggör dynamisk minnesallokering. Sorteringsmetoden kan användas för att sortera elementen i stigande ordning.
HashTable används för att representera en samling nyckelvärdepar. De är organiserade baserat på nyckelns hashCode. Därför har varje element ett nyckelvärdepar. Nyckeln kan användas för att komma åt ett visst element i samlingen. Stack representerar den sista in, först ut tillgången till objekt. Kön används för första in-ut-åtkomst av objekt. Dessa är några av de icke-generiska samlingar som stöds av C #. Dessa samlingar kan lagra element av olika typer.
Vad är likheten mellan generisk och icke-generisk samling i C #?
Både Generic och Non-Generic Collection kan användas för att lagra flera element i C #
Vad är skillnaden mellan generisk och icke-generisk samling i C #?
Skilja artikeln mitt före bordet
Generisk vs icke-generisk samling i C # |
|
En generisk samling är en klass som ger typsäkerhet utan att behöva härledas från en basuppsamlingstyp och implementera typspecifika medlemmar. | En icke-generisk samling är en specialklass för datalagring och hämtning som ger stöd för stackar, köer, listor och hashtabeller. |
Namnområde | |
Generic Collection-klasserna finns i systemet. Samlingar. Generics namnområde. | Klasserna för icke-generisk samling finns i systemet. Samlingsnamn. |
Typ | |
En generisk samling är starkt skriven. | En icke-generisk samling är inte starkt skriven. |
Lagra element | |
Generic Collections lagrar element internt i arrays av deras faktiska typer. | Icke-generiska samlingar lagrar element internt i objektmatriser så att de kan lagra vilken typ av data som helst. |
Sammanfattning - Generisk vs icke-generisk samling i C #
Denna artikel diskuterade skillnaden mellan generisk och icke-generisk samling i C #. Skillnaden mellan generisk och icke-generisk samling är att en generisk samling är starkt skriven medan en icke-generisk samling inte är starkt skriven.