Skirtumas Tarp Bendrosios Ir Ne Bendrosios Kolekcijos C

Turinys:

Skirtumas Tarp Bendrosios Ir Ne Bendrosios Kolekcijos C
Skirtumas Tarp Bendrosios Ir Ne Bendrosios Kolekcijos C
Anonim

Pagrindinis skirtumas - bendroji ir ne bendroji kolekcija C #

„Generic collection“yra klasė, užtikrinanti tipo saugumą nereikalaujant iš pagrindinio rinkinio tipo ir padargų, būdingų konkrečiam tipui. Ne generinis rinkinys yra specializuota klasė, skirta duomenų saugojimui ir paieškai, teikianti paramą kaminams, eilėms, sąrašams ir suvestinėms. Pagrindinis skirtumas tarp bendrosios ir ne bendrosios kolekcijos C # yra tas, kad bendroji kolekcija yra griežtai įvesta, o ne bendroji - nedaug.

TURINYS

1. Apžvalga ir pagrindiniai skirtumai

2. Kas yra bendroji kolekcija C #

3. Kas yra ne generinė kolekcija C #

4. „Generic“ir „Generic Collection“C #

5 panašumai. Gretimas palyginimas - „Generic vs. C # lentelės forma

6. Santrauka

Kas yra bendroji kolekcija C #?

Ne bendrinėse kolekcijose, tokiose kaip „ArrayList“, „Queue“, „Stack“ir kt., Gali būti saugomi skirtingų tipų duomenų elementai. Gaudamas elementus, programuotojas turėtų įvesti juos į teisingą duomenų tipą. Be to, tai gali sukelti vykdymo laiko išimtį. Šiai problemai įveikti gali būti naudojamos bendrosios rinkimo klasės. Bendrosiose kolekcijose elementai saugomi viduje jų faktinių tipų masyvuose. Todėl tipo liejimo nereikia. Jie gali būti naudojami nurodyto tipo ar tipų elementams laikyti. Kai kurios bendros kolekcijos klasės yra sąrašas, žodynas, rūšiuojamas sąrašas, „HashSet“, eilė, kaminas.

Skirtumas tarp bendros ir ne bendros kolekcijos C #
Skirtumas tarp bendros ir ne bendros kolekcijos C #

„GenericList“yra nurodyto tipo elementai. Pridedant elementų, jis gali atitinkamai padidinti sąrašą. Kai yra toks teiginys, visi elementai, kuriuos galima išsaugoti sąraše1, turėtų būti sveiki skaičiai,

Sąrašo sąrašas1 - naujas sąrašas ();

Bendrasis žodynas C # yra raktų ir reikšmių rinkinys. Kai yra toks sakinys, objekto žodyne1 galima išsaugoti int tipo raktus ir eilutės tipo reikšmes.

Žodyno žodynas1 = naujas žodynas ();

„Generic SortedList“kolekcijoje raktai ir reikšmių poros pagal numatytuosius nustatymus saugomi raktų didėjimo tvarka. Žemiau pateiktame pavyzdyje saugomas int tipo raktas ir eilutės tipo vertė.

SortedList s0 = naujas SortedList ();

Tai keletas pavyzdžių, susijusių su Generic Collection C #. Šiose kolekcijose gali būti saugomos kelios nurodytų duomenų tipų vertės. Taigi, jie yra labai tipiški.

Kas yra ne bendrinė kolekcija C #?

Masyvai gali būti naudojami keliems elementams laikyti. Vienas trūkumas yra tas, kad jame galima saugoti to paties tipo duomenis. C # yra klasės, kurios gali būti naudojamos daugeliui reikšmių ar objektų, vadinamų kolekcijomis, saugoti. Kolekcijos padeda saugoti, atnaujinti, ištrinti, ieškoti, rūšiuoti objektus. Kolekcijos dydį galima dinamiškai padidinti arba sumažinti.

Kai kurios ne bendros kolekcijos klasės yra „ArrayList“, „SortedList“, „Stack“, „Queue“ir „HashTable“. Kiekviena kolekcijos klasė įdiegia „IEnumerable“sąsają. Tai padeda pakartoti kolekcijos elementų elementus naudojant „foreach“kilpą.

„ArrayList“yra masyvo alternatyva. Jei yra masyvas, kuriame gali būti 10 elementų, jis negali laikyti 20 elementų. Jei masyvas inicializuotas į 10 elementų, bet jame saugomi tik 5 elementai, tai likusi dalis nenaudojama. Todėl masyvas yra fiksuotas. „ArrayList“galima pridėti arba pašalinti elementus, atsižvelgiant į indeksą. Tai leidžia dinamiškai paskirstyti atmintį. Rūšiavimo metodą galima naudoti elementams rūšiuoti didėjimo tvarka.

„HashTable“yra naudojamas pagrindinių reikšmių porų rinkiniui reprezentuoti. Jie organizuojami pagal rakto hashCode. Todėl kiekvienas elementas turi pagrindinių verčių porą. Raktą galima naudoti norint pasiekti tam tikrą kolekcijos elementą. „Stack“reiškia paskutinę prieigą prie elementų. Eilė naudojama norint pasiekti elementus iš pirmo į išorę. Tai yra keletas ne bendrinių kolekcijų, kurias palaiko C #. Šiose kolekcijose gali būti saugomi skirtingų tipų elementai.

Koks yra bendros ir ne bendrosios kolekcijos panašumas C #?

Keletui elementų C # išsaugoti gali būti naudojama tiek bendroji, tiek ne bendroji kolekcija

Koks skirtumas tarp bendros ir ne bendros kolekcijos C #?

Skirtingas straipsnis viduryje prieš lentelę

Bendra ir ne bendrinė kolekcija C #

„Generic collection“yra klasė, užtikrinanti tipo saugumą nereikalaujant iš pagrindinio rinkinio tipo ir padargų, būdingų konkrečiam tipui. Ne generinis rinkinys yra specializuota duomenų saugojimo ir paieškos klasė, teikianti palaikymą kaminams, eilėms, sąrašams ir maišos lentelėms.
Vardų sritis
„Generic Collection“klasės yra sistemoje. Kolekcijos. „Generics“vardų sritis. Negenerinės kolekcijos klasės yra sistemoje. Kolekcijų vardų sritis.
Tipas
Bendroji kolekcija yra labai tipiška. Ne bendrinė kolekcija nėra labai tipizuota.
Elementų saugojimas
„Generic Collections“elementai viduje saugomi tikro tipo masyvuose. Ne bendrosios kolekcijos saugo elementus objekto masyvuose, kad galėtų saugoti bet kokio tipo duomenis.

Santrauka - bendroji ir ne bendrinė kolekcija C #

Šiame straipsnyje aptariamas skirtumas tarp bendrosios ir ne bendrosios kolekcijos C #. Skirtumas tarp bendrosios ir ne bendrosios kolekcijos yra tas, kad bendroji kolekcija yra labai tipiška, o ne bendrinė - griežtai.

Rekomenduojama: