Ero geneerisen ja ei-geneerisen kokoelman välillä C #

Avainero - yleinen vs. Non-Generic Kokoelma C #
 

Generinen kokoelma on luokka, joka tarjoaa tyyppiturvallisuuden joutumatta johtamaan peruskokoelman tyypistä ja toteuttamaan tyyppikohtaiset jäsenet. Ei-geneerinen kokoelma on erikoistunut luokka tietojen tallennukselle ja noutamiselle, joka tukee pinoja, jonoja, luetteloita ja tiivistelmiä. avainero geneerisen ja ei-geneerisen kokoelman välillä C #: ssä on se geneerinen kokoelma on voimakkaasti kirjoitettu, kun taas ei-geneerinen kokoelma ei ole tyypillisesti kirjoitettu.

SISÄLLYS

1. Yleiskatsaus ja keskeiset erot
2. Mikä on geneerinen kokoelma C #: ssä
3. Mikä on ei-geneerinen kokoelma C #: ssä
4. Yhdenmukaisuudet geneerisen ja ei-geneerisen kokoelman välillä C #
5. Vertailu rinnakkain - yleinen vs. ei-geneerinen kokoelma C # -taulukossa
6. Yhteenveto

Mikä on C-ryhmän geneerinen kokoelma?

Ei-geneeriset kokoelmat, kuten ArrayList, Queue, Stack jne., Voivat tallentaa erityyppisiä tietotyyppejä. Tuotteita hankkiessaan ohjelmoijan tulee kirjoittaa ne oikeaan tietotyyppiin. Muu, se voi aiheuttaa ajonaikaisen poikkeuksen. Yleisiä keräysluokkia voidaan käyttää tämän ongelman ratkaisemiseksi. Geneeriset kokoelmat tallentavat elementit sisäisesti niiden todellisten tyyppien ryhmiin. Siksi tyyppivalua ei vaadita. Niitä voidaan käyttää tietyn tyyppisten tai tyyppisten elementtien tallentamiseen. Jotkut yleiset keräysluokat ovat Lista, Sanakirja, SortedList, HashSet, Jono, Pino .

GenericList sisältää määritetyn tyyppisiä elementtejä. Se voi lisätä luetteloa vastaavasti lisättäessä elementtejä. Kun on seuraava lause, kaikkien luetteloon1 tallennettavien elementtien tulisi olla kokonaislukuja,

Listalista1 - uusi luettelo ();

C #: n yleinen sanakirja on kokoelma avaimia ja arvoja. Kun on seuraava lause, objektisanakirja1 voi tallentaa int-tyyppisiä avaimia ja merkkijonotyyppiarvoja.

Sanakirja sanakirja1 = uusi sanakirja ();

Generic SortedList -kokoelma tallentaa avain- ja arvoparit avainten nousevassa järjestyksessä oletuksena. Alla oleva esimerkki tallentaa int-tyypin avaimen ja merkkijonotyypin arvon.

SortedList s0 = uusi SortedList ();

Nämä ovat muutamia esimerkkejä C #: n Generic Collection -kokoelmasta. Nämä kokoelmat voivat tallentaa määritettyjen tietotyyppien useita arvoja. Joten, ne on voimakkaasti kirjoitettu.

Mikä on ei-geneerinen kokoelma C #: ssä?

Matriiseja voidaan käyttää useiden elementtien tallentamiseen. Yksi haittapuoli on, että se voi tallentaa saman tyyppisiä elementtejä. C # -luokassa on luokkia, joita voidaan käyttää monien arvojen tai esineiden, joita kutsutaan kokoelmiksi, tallentamiseen. Kokoelmat auttavat tallentamaan, päivittämään, poistamaan, etsimään ja lajittelemaan objekteja. Kokoelman kokoa voidaan suurentaa tai pienentää dynaamisesti.

Jotkut ei-yleiset Collection-luokat ovat ArrayList, SortedList, Stack, Queue ja HashTable. Jokainen kokoelmaluokka toteuttaa IEnumerable-käyttöliittymän. Se auttaa iteroimaan kokoelman esineiden läpi foreach-silmukan avulla.

ArrayList on vaihtoehto taulukolle. Jos on taulukko, joka voi tallentaa 10 elementtiä, se ei voi tallentaa 20 elementtiä. Jos taulukko alustetaan 10 elementille, mutta tallentaa vain 5 elementtiä, loput ei ole käytetty. Siksi taulukko on kiinteä. ArrayListissä on mahdollista lisätä tai poistaa elementtejä hakemistosta riippuen. Se sallii dynaamisen muistin allokoinnin. Lajittelumenetelmällä voidaan lajitella elementit nousevassa järjestyksessä.

HashTable-taulukkoa käytetään edustamaan koko arvo-arvopareja. Ne on järjestetty avaimen hash-koodin perusteella. Siksi jokaisella elementillä on avainarvopari. Avainta voidaan käyttää tiettyyn elementtiin kokoelmassa. Pino edustaa viimeistä sisään, ensimmäisenä pääsyä kohteisiin. Jonoa käytetään ensin esineiden ensimmäiseen pääsyyn ulos. Nämä ovat joitain ei-geneerisistä kokoelmista, joita C # tukee. Nämä kokoelmat voivat tallentaa erityyppisiä elementtejä.

Mikä on samankaltainen geneerisen ja ei-geneerisen kokoelman välillä C #: ssä?

  • Sekä geneeristä että ei-geneeristä kokoelmaa voidaan käyttää useiden elementtien tallentamiseen C #.

Mikä on ero geneerisen ja ei-geneerisen kokoelman välillä C #?

Yleinen vs. ei-geneerinen kokoelma C #: ssä

Generinen kokoelma on luokka, joka tarjoaa tyyppiturvallisuuden joutumatta johtamaan peruskokoelman tyypistä ja toteuttamaan tyyppikohtaiset jäsenet. Ei-geneerinen kokoelma on erikoistunut luokka tietojen tallennukselle ja noutamiselle, joka tukee pinoja, jonoja, luetteloita ja hash-taulukoita.
 nimiavaruus
Generic Collection -luokat ovat järjestelmässä. Kokoelmia. Geneeristen nimitila. Ei-geneeriset kokoelmaluokat ovat järjestelmässä. Kokoelmien nimitila.
Tyyppi
Yleinen kokoelma on tyypillisesti kirjoitettu. Ei-geneeristä kokoelmaa ei kirjoiteta vahvasti.
 Elementtien varastointi
Generic-kokoelmat tallentavat elementit sisäisesti niiden todellisten tyyppien ryhmiin. Ei-geneeriset kokoelmat tallentavat elementit sisäisesti objektiryhmiin, jotta se voi tallentaa minkä tahansa tyyppistä tietoa.

Yhteenveto - Yleinen vs. Non-Generic Kokoelma C #

Tässä artikkelissa käsiteltiin eroa geneerisen ja ei-geneerisen kokoelman välillä C #: ssä. Ero geneerisen ja ei-geneerisen kokoelman välillä on se, että geneerinen kokoelma on tyypillisesti tyypillinen, kun taas ei-geneerinen kokoelma ei ole tyypillisesti tyypitetty.

Viite:

1. "Milloin käyttää yleisiä kokoelmia." Microsoft Docs. Saatavilla täältä 
2. “Generic Collection C #: ssä.” TutorialsTeacher.com. Saatavilla täältä  
3. C # -kokoelma: Kokoelma C #: ssä, TutorialsTeacher.com. Saatavilla täältä  
4. ”C # Kokoelmat”, oppaat, 19. maaliskuuta 2018. Saatavilla täältä

Kuvan kohteliaisuus:

1.'Logo C Sharp'By Microsoft, (Public Domain) Commons Wikimedian kautta