Belangrijkste verschil - Generieke versus niet-algemene verzameling in C #
Een generieke collectie is een klasse die typeveiligheid biedt zonder af te leiden van een basiscollectietype en typespecifieke leden te implementeren. Een niet-generieke verzameling is een gespecialiseerde klasse voor het opslaan en ophalen van gegevens die ondersteuning biedt voor stapels, wachtrijen, lijsten en hashtabellen. Het belangrijkste verschil tussen generieke en niet-generieke verzameling in C # is dat een generieke verzameling sterk wordt getypt, terwijl een niet-generieke verzameling niet sterk wordt getypt.
INHOUD
1. Overzicht en belangrijkste verschil
2. Wat is generieke verzameling in C #
3. Wat is niet-algemene verzameling in C #
4. Overeenkomsten tussen generieke en niet-algemene verzameling in C #
5. Vergelijking zij aan zij - Generieke versus niet-algemene verzameling in C # in tabelvorm
6. Samenvatting
Wat is generieke verzameling in C #?
De niet-generieke verzamelingen zoals ArrayList, Queue, Stack, etc. kunnen elementen van verschillende gegevenstypen opslaan. Bij het verkrijgen van de items moet de programmeur cast ze naar het juiste gegevenstype typen. Anders kan het een runtime-uitzondering veroorzaken. De generieke verzamelingsklassen kunnen worden gebruikt om dit probleem op te lossen. Generieke verzamelingen slaan elementen intern op in arrays van hun werkelijke type. Daarom is typegieten niet vereist. Ze kunnen worden gebruikt om elementen van het opgegeven type of typen op te slaan. Sommige generieke verzamelingsklassen zijn List, Dictionary, SortedList, HashSet, Queue, Stack.
De GenericList bevat elementen van een gespecificeerd type. Het kan de lijst dienovereenkomstig vergroten bij het toevoegen van elementen. Als er een verklaring als volgt is, moeten alle elementen die in de lijst1 kunnen worden opgeslagen, gehele getallen zijn, Lijst lijst1 - nieuwe lijst ();
Het algemene woordenboek in C # is een verzameling sleutels en waarden. Als er een volgende instructie is, kan het object dictionary1 int-type sleutels en string type-waarden opslaan.
Woordenboek woordenboek1 = nieuw woordenboek ();
Een Generic SortedList-verzameling slaat sleutel- en waardeparen standaard op in oplopende volgorde van sleutel. Onderstaand voorbeeld slaat de sleutel van het int-type en de waarde van het stringtype op.
SortedList s0 = nieuwe SortedList ();
Dat zijn enkele voorbeelden voor Generic Collection in C #. Deze verzamelingen kunnen meerdere waarden van de opgegeven gegevenstypen opslaan. Ze zijn dus sterk getypeerd.
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 datatype 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 omvang van de collectie kan dynamisch worden vergroot of verkleind.
Sommige niet-generieke verzamelingsklassen zijn ArrayList, SortedList, Stack, Queue en HashTable. Elke verzamelingsklasse implementeert de IEnumerable-interface. Het helpt om de elementen van de items in de collectie te doorlopen 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 opslaat, wordt de rest niet gebruikt. Daarom staat een array vast. 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 laatste in, eerste uit toegang tot items. De wachtrij wordt gebruikt voor first in first out-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 overeenkomst tussen generieke en niet-generieke verzameling in C #?
Zowel Generic als Non-Generic Collection kunnen worden gebruikt om meerdere elementen in C # op te slaan
Wat is het verschil tussen generieke en niet-generieke verzameling in C #?
Diff Artikel Midden voor Tafel
Generieke versus niet-algemene verzameling in C # |
|
Een generieke collectie is een klasse die typeveiligheid biedt zonder af te leiden van een basiscollectietype en typespecifieke leden te implementeren. | Een niet-generieke verzameling is een gespecialiseerde klasse voor het opslaan en ophalen van gegevens die ondersteuning biedt voor stapels, wachtrijen, lijsten en hashtabellen. |
Naamruimte | |
De Generic Collection-klassen bevinden zich in het System. Collecties. Generics-naamruimte. | De niet-generieke verzamelingsklassen bevinden zich in het systeem. Naamruimte voor collecties. |
Type | |
Een generieke collectie is sterk getypeerd. | Een niet-generieke verzameling is niet sterk getypeerd. |
Elementen opslaan | |
De generieke verzamelingen slaan elementen intern op in arrays van hun werkelijke typen. | De niet-generieke verzamelingen slaan elementen intern op in objectarrays, zodat het elk type gegevens kan opslaan. |
Samenvatting - Generieke versus niet-algemene 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 Collectie is dat een Generieke Collectie sterk getypeerd is en een niet-generiek Collectie niet sterk getypeerd.