Verschil tussen generieke en niet-generieke verzameling in C #

Sleutelverschil - Generieke vs Non-Generic Verzameling in C #
 

Een generieke verzameling is een klasse die veiligheid van het type biedt zonder te moeten afleiden van een basisverzamelingstype en typespecifieke leden te implementeren. Een niet-generieke verzameling is een gespecialiseerde klasse voor gegevensopslag en -opslag die ondersteuning biedt voor stapels, wachtrijen, lijsten en hashtabellen. De belangrijk verschil tussen generieke en niet-generieke verzameling in C # is dat een generieke verzameling is sterk getypeerd terwijl een niet-generieke verzameling niet sterk getypt is.

INHOUD

1. Overzicht en belangrijkste verschil
2. Wat is Generic Collection in C #
3. Wat is niet-generieke verzameling in C #
4. Overeenkomsten tussen generieke en niet-generieke verzameling in C #
5. Vergelijking zij aan zij - Generieke versus niet-generieke verzameling in C # in tabelvorm
6. Samenvatting

Wat is Generic Collection in C #?

De niet-generieke collecties zoals ArrayList, Wachtrij, Stack, enz. Kunnen elementen van verschillende gegevenstypen opslaan. Bij het verkrijgen van de items moet de programmeur typt ze naar het juiste gegevenstype casten. Anders kan dit een runtime-uitzondering veroorzaken. De generieke collectieklassen kunnen worden gebruikt om dit probleem te verhelpen. Generieke collecties slaan elementen intern op in arrays van hun werkelijke typen. Daarom is typen casten niet vereist. Ze kunnen worden gebruikt om elementen van het opgegeven type of type op te slaan. Sommige generieke verzamelklassen zijn Lijst, Woordenboek, Gesorteerde lijst, HashSet, Wachtrij, Stapel .

De generieke lijst bevat elementen van het opgegeven type. Het kan de lijst dienovereenkomstig verhogen bij het toevoegen van elementen. Als er een verklaring is als volgt, moeten alle elementen die kunnen worden opgeslagen in de lijst1 gehele getallen zijn,

Lijst lijst1 - nieuwe lijst ();

Het generieke woordenboek in C # is een verzameling sleutels en waarden. Als er een verklaring is als volgt, kan het objectwoordenboek1 int-type sleutels en tekenreekstypen opslaan.

Woordenboek woordenboek1 = nieuw woordenboek ();

Een Generic SortedList-verzameling slaat sleutel- en waardeparen standaard op in oplopende volgorde van de sleutel. Onder voorbeeld bewaart de sleutel van het int-type en de waarde van het stringtype.

SortedList s0 = new SortedList ();

Dat zijn enkele voorbeelden voor Generic Collection in C #. Deze collecties kunnen meerdere waarden van de opgegeven gegevenstypen opslaan. Dus ze zijn sterk getypt.

Wat is niet-generieke verzameling in C #?

Arrays kunnen worden gebruikt om meerdere elementen op te slaan. Een nadeel is dat het elementen van hetzelfde gegevenstype kan opslaan. Er zijn klassen in C # die kunnen worden gebruikt om veel waarden of objecten op te slaan die bekend staan ​​als verzamelingen. Collecties helpen bij het opslaan, bijwerken, verwijderen, zoeken en sorteren van objecten. De grootte van de verzameling kan dynamisch worden verhoogd of verlaagd.

Sommige niet-generieke collectieklassen zijn ArrayList, SortedList, Stack, Queue en HashTable. Elke collectieklasse implementeert de IEnumerable interface. Het helpt om de elementen van de items in de verzameling te herhalen met behulp van de foreach-lus.

ArrayList is een alternatief voor een array. Als er een array is die 10 elementen kan opslaan, kan deze geen 20 elementen opslaan. Als de array is geïnitialiseerd op 10 elementen maar slechts 5 elementen heeft opgeslagen, wordt de rest niet gebruikt. Daarom is een array gefixeerd. In een ArrayList is het mogelijk om elementen toe te voegen of te verwijderen afhankelijk van de index. Het maakt dynamische geheugentoewijzing mogelijk. De sorteermethode kan worden gebruikt om de elementen in oplopende volgorde te sorteren.

De HashTable wordt gebruikt om een ​​verzameling sleutelwaardeparen weer te geven. Ze zijn georganiseerd op basis van de hashcode van de sleutel. Daarom heeft elk element een sleutelwaardepaar. De sleutel kan worden gebruikt om toegang te krijgen tot een bepaald element in de verzameling. De stapel vertegenwoordigt de voorlaatste toegang tot items. De wachtrij wordt gebruikt voor het eerst bij de eerste toegang tot items. Dit zijn enkele van de niet-generieke collecties die worden ondersteund door C #. Deze collecties kunnen elementen van verschillende typen opslaan.

Wat is de gelijkenis tussen generieke en niet-generieke verzameling in C #?

  • Zowel de generieke als de niet-generieke verzameling kan worden gebruikt om meerdere elementen op te slaan in C #.

Wat is het verschil tussen generieke en niet-generieke verzameling in C #?

Generieke versus niet-generieke verzameling in C #

Een generieke verzameling is een klasse die veiligheid van het type biedt zonder te moeten afleiden van een basisverzamelingstype en typespecifieke leden te implementeren. Een niet-generieke verzameling is een gespecialiseerde klasse voor gegevensopslag en -opslag die ondersteuning biedt voor stapels, wachtrijen, lijsten en hashtabellen.
 namespace
De generieke verzamelingsklassen bevinden zich in het systeem. Collecties. Generics-naamruimte. De niet-genereuze verzamelingsklassen bevinden zich in het systeem. Naamruimte collecties.
Type
Een generieke verzameling is sterk getypt. Een niet-generieke verzameling is niet sterk getypt.
 Elementen opslaan
De generieke verzamelingen slaan elementen intern op in arrays van hun werkelijke typen. De niet-generieke collecties slaan elementen intern op in objectarrays, zodat het elk type gegevens kan opslaan.

Samenvatting - Generiek vs Non-Generic Verzameling in C #

In dit artikel is het verschil tussen Generieke en niet-generieke verzameling in C # besproken. Het verschil tussen generieke en niet-generieke verzameling is dat een generieke verzameling sterk getypt is terwijl een niet-generieke verzameling niet sterk getypt is.

Referentie:

1. "Wanneer algemene collecties te gebruiken." Microsoft Docs. Beschikbaar Hier 
2. "Generieke verzameling in C #." TutorialsTeacher.com. Beschikbaar Hier  
3. "C # Collection:" Verzameling in C #, TutorialsTeacher.com. Beschikbaar Hier  
4. "C # collecties.", Tutorials Point, 19 maart 2018. Beschikbaar Hier

Afbeelding met dank aan:

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