Rozdíl Mezi Obecnou A Negenerickou Sbírkou V C

Obsah:

Rozdíl Mezi Obecnou A Negenerickou Sbírkou V C
Rozdíl Mezi Obecnou A Negenerickou Sbírkou V C

Video: Rozdíl Mezi Obecnou A Negenerickou Sbírkou V C

Video: Rozdíl Mezi Obecnou A Negenerickou Sbírkou V C
Video: Kritické myšlení - Úvod do rozpoznávání keců | Neurazitelny.cz | Večery na FF UK 2024, Listopad
Anonim

Klíčový rozdíl - obecná vs. negenerická sbírka v C #

Generická kolekce je třída, která poskytuje bezpečnost typu, aniž byste museli odvozovat od základního typu kolekce a implementovat členy specifické pro daný typ. Non-generická kolekce je specializovaná třída pro ukládání a načítání dat, která poskytuje podporu pro zásobníky, fronty, seznamy a hashtables. Klíčovým rozdílem mezi generickou a negenerickou kolekcí v C # je, že generická kolekce je silně typovaná, zatímco negenerická kolekce není silně typovaná.

OBSAH

1. Přehled a klíčový rozdíl

2. Co je Generic Collection v C #

3. Co je Non-Generic Collection v C #

4. Podobnosti mezi Generic a Non-Generic Collection v C #

5. Porovnání vedle sebe - Generic vs Non-Generic Collection v C # v tabulkové formě

6. Shrnutí

Co je Generic Collection v C #?

Negenerické kolekce, jako je 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 zadat obsazení do správného datového typu. Jinak to může způsobit výjimku za běhu. K překonání tohoto problému lze použít třídy obecné kolekce. Obecné kolekce ukládají prvky interně do polí jejich skutečných typů. Odlévání typu proto není povinné. Lze je použít k uložení prvků zadaného typu nebo typů. Některé generické třídy kolekce jsou List, Dictionary, SortedList, HashSet, Queue, Stack.

Rozdíl mezi obecnou a negenerickou kolekcí v C #
Rozdíl mezi obecnou a negenerickou kolekcí v C #

GenericList obsahuje prvky zadaného typu. Při přidávání prvků může odpovídajícím způsobem zvýšit seznam. Pokud existuje příkaz takto, všechny prvky, které lze uložit do seznamu1, by měla být celá čísla,

Seznam list1 - nový List ();

Obecný slovník v C # je kolekce klíčů a hodnot. Pokud existuje příkaz takto, může objekt dictionary1 ukládat klíče typu int a hodnoty typu řetězce.

Slovník dictionary1 = nový slovník ();

Obecná kolekce 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 datových typů. Jsou tedy silně napsaní.

Co je negenerická sbírka v C #?

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 uložení mnoha hodnot nebo objektů známých jako kolekce. Sbírky pomáhají ukládat, aktualizovat, mazat, hledat, třídit objekty. Velikost kolekce lze dynamicky zvětšovat nebo zmenšovat.

Některé negenerické třídy Collection jsou ArrayList, SortedList, Stack, Queue a HashTable. Každá třída kolekce implementuje IEnumerable rozhraní. Pomáhá iterovat prvky položek v kolekci 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 pevné. V seznamu ArrayList je možné přidat nebo odebrat prvky v závislosti na indexu. Umožňuje dynamické přidělování paměti. Metodu řazení lze použít k řazení prvků ve vzestupném pořadí.

HashTable se používá k reprezentaci kolekce párů hodnot klíčů. Jsou organizovány na základě hashCode klíče. Každý prvek má proto pár klíč-hodnota. Klíč lze použít pro přístup ke konkrétnímu prvku v kolekci. The Stack představuje poslední přístup, první přístup k položkám. Fronta se používá pro přístup první k prvnímu k položkám. To jsou některé z negenerických kolekcí podporovaných C #. Tyto kolekce mohou ukládat prvky různých typů.

Jaká je podobnost mezi generickou a negenerickou kolekcí v C #?

Obecnou i negenerickou kolekci lze použít k uložení více prvků v C #

Jaký je rozdíl mezi generickou a negenerickou kolekcí v C #?

Rozdílný článek uprostřed před tabulkou

Obecná vs negenerická sbírka v C #

Generická kolekce je třída, která poskytuje bezpečnost typu, aniž byste museli odvozovat od základního typu kolekce a implementovat členy specifické pro daný typ. Non-generická kolekce je specializovaná třída pro ukládání a načítání dat, která poskytuje podporu pro zásobníky, fronty, seznamy a hash tabulky.
Jmenný prostor
Třídy Generic Collection jsou v systému. Sbírky. Generický obor jmen. Třídy Non-generic Collection jsou v systému. Obor názvů sbírek.
Typ
Obecná kolekce je silně napsána. Negenerická kolekce není silně napsaná.
Ukládání prvků
Generické kolekce ukládají prvky interně do polí jejich skutečných typů. Negenerické kolekce ukládají prvky interně do polí objektů, aby mohly ukládat jakýkoli typ dat.

Shrnutí - Obecná vs negenerická sbírka v C #

Tento článek pojednával o rozdílu mezi obecnou a negenerickou kolekcí v C #. Rozdíl mezi generickou a negenerickou kolekcí spočívá v tom, že generická kolekce je silně typovaná, zatímco negenerická kolekce není silně typovaná.

Doporučená: