Skillnad mellan generisk och icke-generisk samling i C #

Huvudskillnad - Generisk vs Icke Generic Samling i C #
 

En generisk samling är en klass som ger typsäkerhet utan att behöva härledas från en basuppsamlings typ och implementera typspecifika medlemmar. En icke-generisk samling är en specialiserad klass för datalagring och återhämtning som ger stöd för staplar, köer, listor och hashtables. De nyckelskillnad mellan generisk och icke-generisk samling i C # är det en generisk samling skrivs starkt medan en icke-generisk samling inte är typiskt skrivet.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är Generic Collection i C #
3. Vad är icke-generisk samling i C #
4. Likheter mellan generisk och icke-generisk samling i C #
5. Side vid sida-jämförelse - Generisk vs icke-generisk samling i C # i tabellform
6. Sammanfattning

Vad är Generic Collection i C #?

Icke-generiska samlingar som ArrayList, Queue, Stack, etc. kan lagra element av olika datatyper. När du hämtar objekten ska programmeraren skriva in dem till rätt datatyp. Annars kan det orsaka ett runtime undantag. De generiska samlingsklasserna kan användas för att lösa problemet. Generiska samlingar lagrar element internt i arrays av deras faktiska typer. Därför är typgjutning inte nödvändigt. De kan användas för att lagra element av den angivna typen eller typerna. Vissa generiska samlingskurser ä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, ska alla element som kan lagras i listan1 vara heltal,

Listlista1 - Ny lista ();

Den generiska ordboken i C # är en samling av nycklar och värden. När det finns ett uttalande enligt följande kan objektlistan1 lagra int typtangenter och strängtypsvärden.

Ordbok dictionary1 = ny ordbok ();

En generisk SortedList-samling lagrar nyckel- och värdepar i stigande ordning för nyckel som standard. Nedan exempel lagras nyckel av int-typ och värde av strängtyp.

SortedList s0 = new SortedList ();

Det är några exempel på 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 samlingskurser är ArrayList, SortedList, Stack, Queue och HashTable. Varje samlingsklass implementerar det IEnumerable gränssnittet. Det bidrar till att iterera genom elementet av föremålen i samlingen med hjälp av förloppslingan.

ArrayList är ett alternativ till en array. Om det finns en matris som kan lagra 10 element, kan den inte lagra 20 element. Om arrayen initialiserades till 10 element men endast lagrar 5 element, är resten en inte använd. 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 av nyckelvärdespar. De är organiserade utifrån nyckelens hashCode. Därför har varje element ett nyckelvärdespar. Nyckeln kan användas för att få tillgång till ett visst element i samlingen. Stacken representerar den sista in, först ut tillgång till objekt. Kön används för först i första utåtkomsten av objekt. Det ä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 generisk och icke-generisk samling kan användas för att lagra flera element i C #.

Vad är skillnaden mellan generisk och icke-generisk samling i C #?

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 basuppsamlings typ och implementera typspecifika medlemmar. En icke-generisk samling är en specialiserad klass för datalagring och återhämtning som ger stöd för staplar, köer, listor och hashbord.
 namespace
Klasserna Generic Collection är i systemet. Samlingar. Generics namespace. Klasserna för icke-generisk samling finns i systemet. Samlingar namespace.
Typ
En generisk samling är starkt skrivet. En icke-generisk samling skrivs inte starkt.
 Lagring av element
De generiska samlingarna lagras internt i arrays av deras faktiska typer. Icke-generiska samlingar lagrar element internt i objektet så att det kan lagra vilken typ av data som helst.

Sammanfattning - Generisk vs Icke Generic Samling i C #

I denna artikel diskuterades skillnaden mellan generisk och icke-generisk samling i C #. Skillnaden mellan generisk och icke-generisk samling är att en generisk samling skrivs starkt medan en icke-generisk samling inte skrivs starkt.

Referens:

1. "När ska du använda generella samlingar". Microsoft Docs. Tillgänglig här 
2. "Generisk samling i C #." TutorialsTeacher.com. Tillgänglig här  
3. "C # Collection:" Samling i C #, TutorialsTeacher.com. Tillgänglig här  
4. "C # Collections"., Tutorials Point, 19 mars 2018. Tillgänglig här

Image Courtesy:

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