Különbség a generikus és nem generikus gyűjtemény között a C #

Fő különbség - Általános vs Nem Generic Gyűjtemény C # -ben
 

A Generikus Gyűjtemény egy olyan osztály, amely típusbiztonságot nyújt, anélkül, hogy az alapgyűjtéstípusból származtatnia kellene és a típusspecifikus elemeket be kellene vezetnie. A nem generikus gyűjtemény az adattárolás és -keresés speciális osztálya, amely támogatja a kötegeket, a sorokat, a listákat és a hashtables-t. Az kulcs különbség között a G # általános és nem generikus gyűjtemény a C # -ben a Generikus Gyűjteményt erősen gépeljük, míg a Generikus Gyűjteményt nem erősen gépeljük.

TARTALOMJEGYZÉK

1. Áttekintés és a legfontosabb különbség
2. Mi a C általános generikus gyűjtemény?
3. Mi a C általános nem generikus gyűjtemény?
4. A C generikus és nem generikus gyűjtemények hasonlóságai
5. Összehasonlítás egymással - Általános és nem generikus gyűjtemény C # táblázatos formában
6. Összegzés

Mi az a generikus gyűjtemény a C # -ben??

A nem generikus gyűjtemények, például az ArrayList, Queue, Stack stb. Különféle adattípusokat tartalmazhatnak. Az elemek beszerzésekor a programozónak be kell gépelnie a megfelelő adattípust. Máskülönben ez futási kivételt okozhat. Az általános gyűjtési osztályok felhasználhatók ennek a kérdésnek a leküzdésére. A generikus gyűjtemények az elemeket belsőleg a tényleges típusuk tömbjeiben tárolják. Ezért a típusöntés nem szükséges. Ezek felhasználhatók a megadott típusú vagy típusú elemek tárolására. Néhány általános gyűjtemény osztály: Lista, Szótár, SortedList, HashSet, Queue, Stack .

A GenericList meghatározott típusú elemeket tartalmaz. Elemek hozzáadásakor ennek megfelelően növelheti a listát. Ha van egy következő állítás, akkor az összes listában1 tárolható elemnek egész számnak kell lennie,

1. listalista - új lista ();

A C # általános szótára kulcsok és értékek gyűjteménye. Ha van egy következő állítás, akkor az objektum szótár1 tárolhatja az int típusú kulcsokat és a karakterlánc típus értékeit.

Szótár szótár1 = új szótár ();

A Generic SortedList gyűjtemény alapértelmezés szerint a kulcs- és értékpárokat kulcs növekvő sorrendjében tárolja. Az alábbiakban a példa tárolja az int típus kulcsát és a karakterlánc típus értékét.

SortedList s0 = új SortedList ();

Ez néhány példa a C # általános generációs gyűjteményére. Ezek a gyűjtemények a megadott adattípusok több értékét tárolhatják. Szóval, erősen gépeltek.

Mi a nem generikus gyűjtemény a C # -ben??

A tömbök több elem tárolására is felhasználhatók. Egy hátránya, hogy képes tárolni ugyanolyan adattípusú elemeket. A C #-ban vannak olyan osztályok, amelyek felhasználhatók számos érték vagy objektum, mint gyűjtemények tárolására. A gyűjtemények segítenek az objektumok tárolásában, frissítésében, törlésében, keresésében, rendezésében. A gyűjtemény mérete dinamikusan növelhető vagy csökkenthető.

Néhány nem általános gyűjtemény-osztály: ArrayList, SortedList, Stack, Queue és HashTable. Minden gyűjteményosztály megvalósítja az IEnumerable felületet. Segít a műtárgy elemeinek iterációjában a foreach hurok segítségével.

Az ArrayList egy tömb alternatívája. Ha van olyan tömb, amely 10 elemet képes tárolni, akkor nem képes 20 elemet tárolni. Ha a tömb 10 elemre inicializálódik, de csak 5 elemet tárol, akkor a többi nem kerül felhasználásra. Ezért egy tömb rögzítve van. Az ArrayListben elemeket lehet hozzáadni vagy eltávolítani az indextől függően. Ez lehetővé teszi a dinamikus memóriaelosztást. A rendezési módszer felhasználható az elemek növekvő sorrendbe rendezésére.

A HashTable a kulcsérték-párok gyűjteményének ábrázolására szolgál. Szerkesztésük a kulcs hashCode-ja alapján történik. Ezért minden elemnek van kulcsérték-párja. A kulcs felhasználható egy adott elem elérésére a gyűjteményben. A Stack az utoljára bejutott, elsőként az elemekhez való hozzáférést képviseli. A várólistát az elemek első hozzáférésére használják. Ezek a C # által támogatott nem generikus gyűjtemények. Ezek a gyűjtemények különféle elemeket tárolhatnak.

Milyen hasonlóságot mutat a generikus és a nem generikus gyűjtemény a C # -ben??

  • Mind az általános, mind a nem általános gyűjtemény felhasználható több elem tárolására a C # -ben..

Mi a különbség a generikus és nem generikus gyűjtemény között a C #?

Általános vs. nem generikus gyűjtemény a C # -ben

A Generikus Gyűjtemény egy olyan osztály, amely típusbiztonságot nyújt, anélkül, hogy az alapgyűjtéstípusból származtatnia kellene és a típusspecifikus elemeket be kellene vezetnie. A nem generikus gyűjtemény az adattárolás és -keresés speciális osztálya, amely támogatja a kötegeket, a sorokat, a listákat és a hash táblákat.
 névtér
A Generic Collection osztályok a rendszerben vannak. Gyűjtemények. Generikus névtér. A nemgenerikus gyűjtemény osztályok a rendszerben vannak. Gyűjtemények névtere.
típus
A Generikus Gyűjtemény erősen gépelt. A nem általános jellegű gyűjtemény nincs tipizálva.
 Elemek tárolása
A Generikus Gyűjtemények az elemeket belsőleg a tényleges típusuk tömbjeiben tárolják. A nem általános gyűjtemények az elemeket objektumtömbökben tárolják, így bármilyen típusú adatot tárolhatnak.

összefoglalás - Általános vs Nem Generic Gyűjtemény C # -ben

Ez a cikk tárgyalt a különbség a generikus és a nem generikus gyűjtemény között a C # -ben. A különbség a generikus és a nem generikus gyűjtemény között az, hogy a generikus gyűjtemény erősen tipizált, míg a nem generikus gyűjtemény nem erősen tipizált.

Referencia:

1. „Mikor kell használni az általános gyűjteményeket?” Microsoft Docs. Itt érhető el 
2. „Generikus gyűjtemény C # -ben.” TutorialsTeacher.com. Itt érhető el  
3. „C # Gyűjtemény:” Gyűjtemény a C # -ben, TutorialsTeacher.com. Itt érhető el  
4. „C # Gyűjtemények”, oktatóanyagok, 2018. március 19., elérhető itt

Kép jóvoltából:

1.'Logo C Sharp'By Microsoft, (Public Domain) a Commons Wikimedia-on keresztül