Obecná kolekce je třída, která poskytuje bezpečnost typu, aniž by se musela odvozovat od typu základní kolekce a implementovala členy specifické pro daný typ. Ne-obecná kolekce je specializovaná třída pro ukládání a načítání dat, která poskytuje podporu pro hromádky, fronty, seznamy a hashovací tabulky. klíčový rozdíl mezi generickou a ne-generickou sbírkou v C # je to obecná kolekce je silně zadaná, zatímco neobecná kolekce není silně zadána.
1. Přehled a klíčový rozdíl
2. Co je generická kolekce v C #
3. Co je ne-generická kolekce v C #
4. Podobnosti mezi generickými a ne-generickými sbírkami v C #
5. Srovnání bok po boku - obecný vs. ne-obecný soubor v C # v tabulkové formě
6. Shrnutí
Neobecné kolekce jako ArrayList, Queue, Stack atd. Mohou ukládat prvky různých datových typů. Při získávání položek by měl programátor psát obsazení správného typu dat. Jinak to může způsobit runtime výjimku. K překonání tohoto problému lze použít třídy obecných kolekcí. Obecné kolekce ukládají prvky interně do polí jejich skutečných typů. Proto není vyžadováno odlévání typu. Lze je použít k ukládání prvků zadaného typu nebo typů. Některé třídy obecné kolekce jsou Seznam, Slovník, SortedList, HashSet, Queue, Stack .
GenericList obsahuje prvky zadaného typu. Při přidávání prvků může seznam odpovídajícím způsobem zvětšit. Pokud existuje následující příkaz, měly by být všechny prvky, které lze uložit do seznamu1, celá čísla,
Seznam list1 - nový List ();
Generický slovník v C # je kolekce klíčů a hodnot. Pokud existuje příkaz takto, může slovník objektů1 uložit klíče typu int a hodnoty typu řetězce.
Slovník slovník1 = nový slovník ();
Kolekce Generic SortedList standardně ukládá páry klíčů a hodnot ve vzestupném pořadí klíčů. Níže uvedený příklad ukládá klíč typu int a hodnotu typu řetězce.
SortedList s0 = nový SortedList ();
To je několik příkladů pro Generic Collection v C #. Tyto kolekce mohou ukládat více hodnot zadaných typů dat. Jsou tedy silně psané.
Pole lze použít k uložení více prvků. Jednou nevýhodou je, že může ukládat prvky stejného datového typu. V C # jsou třídy, které lze použít k ukládání mnoha hodnot nebo objektů známých jako kolekce. Kolekce pomáhají ukládat, aktualizovat, mazat, prohledávat a třídit objekty. Velikost sbírky lze dynamicky zvětšovat nebo zmenšovat.
Některé neobecné kolekce kolekce jsou ArrayList, SortedList, Stack, Queue a HashTable. Každá třída kolekce implementuje rozhraní IEnumerable. Pomáhá iterovat prvky prvků ve sbírce pomocí smyčky foreach.
ArrayList je alternativou k poli. Pokud existuje pole, které dokáže uložit 10 prvků, nemůže uložit 20 prvků. Pokud je pole inicializováno na 10 prvků, ale ukládá pouze 5 prvků, zbytek se nepoužívá. Proto je pole opraveno. V ArrayListu je možné přidat nebo odebrat prvky v závislosti na indexu. Umožňuje dynamické přidělení paměti. Metodu třídění lze použít k třídění prvků ve vzestupném pořadí.
HashTable se používá k reprezentaci kolekce párů klíčových hodnot. Jsou organizovány na základě hashCode klíče. Každý prvek má proto pár hodnot klíčů. Klíč lze použít k přístupu ke konkrétnímu prvku v kolekci. Zásobník představuje poslední přístup, první přístup k položkám. Fronta se používá pro první a první přístup k položkám. To jsou některé z ne-generických sbírek podporovaných C #. Tyto kolekce mohou ukládat prvky různých typů.
Obecná vs ne-obecná kolekce v C # | |
Obecná kolekce je třída, která poskytuje bezpečnost typu, aniž by se musela odvozovat od typu základní kolekce a implementovala členy specifické pro daný typ. | Neobecná kolekce je specializovaná třída pro ukládání a načítání dat, která poskytuje podporu pro hromádky, fronty, seznamy a tabulky hash. |
Jmenný prostor | |
Třídy Generic Collection jsou v systému. Sbírky. Obecný obor názvů. | Třídy negenerických sbírek jsou v systému. Jmenný prostor sbírek. |
Typ | |
Obecná kolekce je silně napsaná. | Sbírka, která není obecná, není pevně zadána. |
Ukládání prvků | |
Generické sbírky interně ukládají prvky do polí jejich skutečných typů. | Neobecné kolekce ukládají prvky interně do polí objektů, takže mohou ukládat jakýkoli typ dat. |
Tento článek pojednává o rozdílu mezi generickými a ne-generickými sbírkami v C #. Rozdíl mezi generickou a ne-generickou sbírkou spočívá v tom, že obecná sbírka je silně zadaná, zatímco ne-generická sbírka není silně zadaná.
1. „Kdy používat obecné sbírky.“ Dokumenty společnosti Microsoft. K dispozici zde
2. „Generic Collection in C #.“ Výukové programyTeacher.com. K dispozici zde
3. „C # Collection:“ Kolekce v C #, TutorialsTeacher.com. K dispozici zde
4. „C # sbírky.“, Tutorials Point, 19. 3. 2018. K dispozici zde
1.'Logo C Sharp'By Microsoft, (Public Domain), prostřednictvím Commons Wikimedia