Taulukot vs luettelot: käyttövertailu C#:ssa

Taulukot Vs Luettelot Kayttovertailu C Ssa



C#:n taulukko on joukko kohteita, joilla on identtiset tietotyypit ja määritelty tietty koko. Se edustaa viereistä muistin osaa, johon elementit tallennetaan. Hyödyntämällä hakemistoaan C#:n taulukot tarjoavat nopean ja helpon mielivaltaisen pääsyn jäsenilleen. Lista on C#-ohjelmointikielen dynaaminen tietorakenne, joka edustaa ryhmää identtisesti kirjoitettuja komponentteja. Toisin kuin taulukot, luettelot voivat kasvaa tai pienentyä dynaamisesti, mikä mahdollistaa elementtien tehokkaan lisäämisen, poistamisen ja muokkaamisen. Sekä yhtäläisyydet että erot C#-taulukoiden ja C#-luetteloiden välillä käsitellään tässä artikkelissa.

Ilmoitus:

Taulukot ilmoitetaan käyttämällä 'tyyppi[] ArrayName;' syntaksi, jossa tyyppi tarkoittaa taulukkokokoelman jäsenten tyyppiä ja 'ArrName' on taulukolle määritetty otsikko. Taulukon ilmoitus merkitään hakasulkeilla [].

tyyppi [ ] ArrayName = uusi tyyppi [ ] ;

Listat on ilmoitettu käyttämällä 'List LsName;' syntaksi, jossa tyyppi edustaa luettelon elementtien tietotyyppiä ja 'LsName' on luettelolle annettu nimi. Kulmasulkeet osoittavat, että kyseessä on yleinen tyyppiilmoitus.







Lista < tyyppi > listanimi = uusi lista < tyyppi > ( ) ;

Alustus:

Taulukot käyttävät aaltosulkeet {} arvojen sulkemiseen, kun taas listat käyttävät uutta List-konstruktoria, jota seuraa aaltosulkeet {} arvojen sulkemiseen.



tyyppi [ ] ArrayName = { v1 , v2 , v3 , ... } ;

Lista < tyyppi > listanimi = uusi lista < tyyppi > { v1 , v2 , v3 , ... } ;

Arvojen lisääminen:

On tärkeää muistaa, että C#-taulukoilla on tietty koko. Jos tarvitaan eri kokoa, on luotava uusi taulukko 'newArr' halutun kokoisella (nykyinen pituus + uusien arvojen lukumäärä). Lisää alkuperäinen taulukko 'OrgArr' uuteen taulukkoon ja määritä uudet arvot uusiin paikkoihin uudessa taulukossa ja päivitä viittaus uuteen taulukkoon.



Array. Kopio ( OrgArr , uusiArr , OrgArr. Pituus ) ;

uusiArr [ OrgArr. Pituus ] = 14 ; // uusi arvo

uusiArr [ OrgArr. Pituus + 1 ] = 2 ; // uusi arvo

OrgArr = uusiArr ; // Päivitä viite int[] NewArr = new int[OrgArr.Length + 2];

Listat tarjoavat joustavuutta koon hallinnassa. Kun luettelo alustetaan, se alkaa alkuperäisellä kapasiteetilla, mutta se voi laajentua automaattisesti, kun lisää elementtejä lisätään. Tämä dynaaminen koonmuutosominaisuus mahdollistaa luetteloiden mukauttamisen muuttuviin vaatimuksiin. C#-listat sisältävät Add()-funktion arvojen lisäämiseksi luetteloon. Näin voit lisätä arvoja C#-luetteloon:





Taulukot vs listat : Käyttövertailu C:ssä #

Pääsy arvoihin

Taulukkonumeroiden arvoihin päästään indeksimerkinnällä [], eli suluissa olevalla indeksinumerolla ja ne tallennetaan toiseen muuttujaan.

tyyppinen elementti = ArrayName [ indeksi ] ;

C#-luettelon arvoihin pääsemiseksi voit myös käyttää indeksimerkintää [] ja haluttua indeksipaikkaa, joka on samanlainen kuin taulukot.



tyyppinen elementti = Listanimi [ indeksi ] ;

Arvojen poistaminen

Matriiseilla on asetettu pituus. Siksi elementtien poistamiseksi on luotava uusi taulukko, jonka koko on pienempi, ja kopioitava olemassa olevat elementit. Tämä voidaan tehdä käyttämällä Array.Copy()-funktiota 'Arvojen lisääminen' -osiossa kuvatulla tavalla. C#-luetteloissa arvojen poistaminen on paljon yksinkertaisempaa ja intuitiivisempaa. List-luokka tarjoaa 'poista'-menetelmän, jonka avulla voit poistaa tietyn arvon luettelosta.

listanimi. Poista ( elementti ) ;

Laske arvot

C#-taulukon arvojen laskemiseksi voit käyttää taulukon pituusmääritettä. Pituusominaisuus antaa sinulle taulukon arvojen kokonaismäärän.

int Kreivi = arrayName. Pituus ;

Laskeaksesi arvot C#-luettelossa, voit käyttää luettelon 'count'-ominaisuutta. Luettelossa tällä hetkellä olevien elementtien kokonaismäärä palautetaan myös 'count'-attribuutilla.

int Kreivi = listanimi. Kreivi ;

Toista arvot

Jos haluat iteroida arvojen yli C#-taulukossa, voit käyttää 'for'-silmukkaa, jonka silmukan ehtona on taulukon pituus.

varten ( int i = 0 ; i < ArrayName. Pituus ; i ++ ) {

tyyppi e = arrayName [ i ] ;

Konsoli. WriteLine ( se on ) ;

}

Jos haluat iteroida C#-luettelon arvojen yli, voit käyttää foreach-silmukkaa, koska se yksinkertaistaa iterointiprosessia iteroimalla automaattisesti elementtien yli.

jokaiselle ( kirjoita e listaan ​​Name ) {

Konsoli. WriteLine ( se on ) ;

}

Esimerkki 1: C#-taulukot

Annettu koodi ilmoittaa ja alustaa kokonaislukutaulukon nimeltä 'Arr', jonka pituus on 5 ja antaa arvot sen elementeille. Taulukon elementeille määritetyt arvot ovat 11, 12, 13, 14 ja 15. Koodi jatkaa sitten taulukon elementtien näyttämistä 'for'-silmukan avulla. Jokainen komponentti näytetään erillisellä rivillä käyttämällä Console.WriteLine()-menetelmää.

Alkuperäisten elementtien näyttämisen jälkeen koodi muokkaa indeksin 2 elementtiä antamalla sille uuden arvon 10. Seuraavaksi koodi näyttää muokatun taulukon iteroimalla elementit uudelleen käyttämällä 'for'-silmukkaa. Lopuksi koodi näyttää taulukossa olevien arvojen kokonaismäärän käyttämällä 'Arr.Length' -ominaisuutta, joka antaa taulukon pituuden.

järjestelmän avulla ;

luokan nukke {

staattinen mitätön Main ( ) {

int [ ] Arr = Uusi int [ 5 ] { yksitoista , 12 , 13 , 14 , viisitoista } ;

Konsoli. WriteLine ( 'Elementit:' ) ;

varten ( int i = 0 ; i < Arr. Pituus ; i ++ )

{

Konsoli. WriteLine ( Arr [ i ] ) ;

}

Arr [ 2 ] = 10 ;

Konsoli. WriteLine ( 'Muokattu taulukko:' ) ;

varten ( int i = 0 ; i < Arr. Pituus ; i ++ )

{

Konsoli. WriteLine ( Arr [ i ] ) ;

}

Konsoli. WriteLine ( 'Elementtien lukumäärä:' + Arr. Pituus ) ;

}

}

Esimerkki 2: C#-listat

Seuraava koodi osoittaa C#-luettelon käytön kokonaislukujoukon tallentamiseen ja käsittelemiseen. Ensin koodi alustaa listan nimeltä 'Arr', jossa on viisi kokonaislukua: 11, 12, 13, 14 ja 15. Tämä saavutetaan käyttämällä List-luokkaa ja sen konstruktoria sekä alustussyntaksia.

Seuraavaksi ohjelma tulostaa 'Elements:' -viestin ja jatkaa toistamiseen luettelon jokaisen elementin yli käyttämällä 'foreach' -silmukkaa. Jokaisen iteroinnin aikana nykyinen elementti tulostetaan konsoliin käyttämällä Console.WriteLine()-metodia.

Myöhemmin koodi muuttaa arvoa listan indeksissä 2 antamalla sille arvon 10 (Arr[2] = 10). Tämä rivi muuttaa luettelon kolmannen elementin arvosta 13 arvoon 10. Muokkauksen jälkeen ohjelma tulostaa uudelleen 'Modified list:' -sanoman ja iteroi päivitetyn luettelon yli ja tulostaa jokaisen elementin konsoliin. Koodi näyttää sitten arvojen lukumäärän luettelossa käyttämällä 'Arr.Count'. Tämä ominaisuus palauttaa luettelossa olevien kohteiden määrän, joka seuraavassa skenaariossa sattuu olemaan 5.

Lopuksi koodi poistaa luettelosta elementin, jonka arvo on 4, käyttämällä Arr.Remove(4) -menetelmää. Tämä menetelmä etsii määritettyä arvoa luettelosta ja poistaa sen ensimmäisen esiintymän. Lopuksi ohjelma tulostaa 'Lista poiston jälkeen:' -viestin ja toistaa luetteloa vielä kerran ja näyttää jokaisen jäljellä olevan elementin poiston jälkeen.

järjestelmän avulla ;

järjestelmän avulla. Kokoelmat . Yleinen ;

luokan nukke {

staattinen mitätön Main ( ) {

Lista < int > Arr = uusi lista < int > ( ) { yksitoista , 12 , 13 , 14 , viisitoista } ;

Konsoli. WriteLine ( 'Elementit:' ) ;

jokaiselle ( int n in Arr )

{

Konsoli. WriteLine ( n ) ;

}

Arr [ 2 ] = 10 ;

Konsoli. WriteLine ( 'Muokattu luettelo:' ) ;

jokaiselle ( int n in Arr )

{

Konsoli. WriteLine ( n ) ;

}

Konsoli. WriteLine ( 'Elementtien lukumäärä:' + Arr. Kreivi ) ;

Arr. Poista ( 4 ) ;

Konsoli. WriteLine ( 'Luettelo poiston jälkeen:' ) ;

jokaiselle ( int n in Arr )

{

Konsoli. WriteLine ( n ) ;

}

}

}

Johtopäätös

Tämä opas käsitteli perussyntaksierot C#-taulukoiden ja C#-listojen välillä. Matriiseilla on kiinteä pituus ja niihin pääsee indeksillä, kun taas luettelot ovat dynaamisesti kooltaan ja tarjoavat lisämenetelmiä elementtien lisäämiseen ja poistamiseen. Sen lisäksi toimitimme C#-listaohjelmat, jotka esittelevät elementtien määrittelyn, alustuksen, pääsyn, muokkaamisen, laskemisen ja lisäämisen.