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.
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
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.
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.
Á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. |
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.
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
1.'Logo C Sharp'By Microsoft, (Public Domain) a Commons Wikimedia-on keresztül