C# Array Tutorial: Luo, ilmoita, alusta
⚡ Älykäs yhteenveto
C#-taulukot tallentavat kiinteän kokoisen kokoelman elementtejä, joilla on sama tietotyyppi, yhden muuttujanimen alle. Jokainen elementti sijaitsee nollapohjaisessa indeksissä, joten arvojen määrittäminen, alustaminen ja käyttäminen on nopeaa ja ennustettavaa.

Mikä on taulukko C#:ssa?
Taulukkoa käytetään elementtien kokoelman tai sarjan tallentamiseen. Nämä elementit ovat samantyyppisiä.
Jos sinulla on esimerkiksi joukko kokonaislukuarvoja, taulukko voisi olla kokoelma arvoja, kuten [1, 2, 3, 4]. Tässä taulukon elementtien lukumäärä on 4.
Taulukot ovat hyödyllisiä, kun haluat tallentaa kokoelman samantyyppisiä arvoja. Joten sen sijaan, että ilmoittaisit a muuttuja jokaiselle elementille voit ilmoittaa vain yhden muuttujan.
Tämä muuttuja osoittaa taulukkoon tai elementtiluetteloon, joka on vastuussa taulukon elementtien tallentamisesta.
Katsotaanpa, kuinka voimme työskennellä taulukoiden kanssa C#:ssa. Esimerkissämme julistamme joukon kokonaislukuja ja työskentelemme niiden kanssa vastaavasti.
Huomaa, että kaikki alla oleva koodi tehdään Program.cs-tiedostoon.
Vaihe 1) Taulukon ilmoittaminen – Ensimmäinen vaihe on taulukon ilmoittaminen. Katsotaanpa, kuinka voimme saavuttaa tämän alla olevan koodiesimerkin avulla.
Code Selitys:-
- Ensimmäinen osa on tietotyyppi. Se määrittää taulukossa käytettyjen elementtien tyypin. Joten meidän tapauksessamme luomme joukon kokonaislukuja.
- Toinen osa [ ], joka määrittää taulukon arvon. (Asetus on paikkamerkki, joka määrittää taulukon sisältämien elementtien määrän)
- Seuraava on taulukon nimi, joka meidän tapauksessamme on "arvot". Huomaa, että näet vihreän vinoavan alleviivauksen, älä huoli siitä. Se on vain .Net, joka sanoo, että olet ilmoittanut taulukon, mutta et käytä sitä missään.
Vaihe 2) Seuraava vaihe on alustaa taulukko. Tässä aiomme määrittää taulukon sisältämien arvojen määrän. Aiomme myös antaa arvot jokaiselle taulukon elementille.
Code Selitys:-
- Ensin asetamme taulukon sisältämien elementtien lukumääräksi 3. Joten hakasulkeissa sanomme, että taulukko sisältää 3 elementtiä.
- Sitten annamme arvot taulukon jokaiselle alkiolle. Voimme tehdä tämän määrittämällä muuttujan nimen + indeksin sijainnin taulukossa. Joten values[0] tarkoittaa, että tallennamme arvon taulukon ensimmäiseen sijaintiin. Vastaavasti toiseen sijaintiin pääsemiseksi käytämme merkintätapaa values[1] ja niin edelleen.
Huomautuksia: – Arraysissa indeksin sijainti alkaa 0:sta.
Vaihe 3) Näytetään nyt taulukon yksittäiset elementit konsolissa. Lisätään alla oleva koodi saavuttaaksemme tämän.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] value; value=new Int32[3]; value[0]=1; value[1]=2; value[2]=3; Console.WriteLine(value[0]); Console.WriteLine(value[1]); Console.WriteLine(value[2]); Console.ReadKey(); } } }
Code Selitys:-
Tämä on yksinkertainen osa, jossa käytämme vain Console.WriteLine-menetelmää elementin jokaisen arvon lähettämiseen konsoliin.
Huomaa, että taas pääsemme jokaiseen elementtiin taulukon muuttujan nimen ja indeksipaikan avulla.
Jos yllä oleva koodi on syötetty oikein ja ohjelma suoritetaan, seuraava tulos näytetään.
lähtö:
Tulosteesta näet kaikki taulukon arvot, jotka näkyvät konsolissa.
C#-taulukon läpikäyminen foreach-funktion avulla
Kunkin elementin lukeminen indeksin perusteella toimii, mutta siitä tulee työlästä, jos taulukossa on useita arvoja. Foreach-silmukka tarjoaa siistimmän tavan käydä läpi taulukon jokainen elementti järjestyksessä ilman tracKunnioita indeksimuuttujaa itse.
Foreach-lauseke ottaa jokaisen alkion taulukosta yksi kerrallaan ja kopioi ne silmukkamuuttujaan. Sitten käytät kyseistä muuttujaa silmukan rungon sisällä. Koska silmukka pysähtyy automaattisesti viimeiseen alkioon, foreach poistaa riskin lukea taulukon lopun jälkeen.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] values = new Int32[3] {1, 2, 3}; foreach (Int32 item in values) { Console.WriteLine(item); } Console.ReadKey(); } } }
Yllä oleva esimerkki määrittelee ja alustaa kolmen kokonaisluvun taulukon ja käy sen läpi foreach-komennolla. Jokaisella läpimenolla muuttuja erä vastaanottaa seuraavan arvon ja Console.WriteLine tulostaa sen. Tulosteena ovat luvut 1, 2 ja 3 eri riveillä.
Tärkeimmät muistettavat asiat foreach-funktiosta taulukoiden kanssa:
- Silmukkamuuttuja on vain luku -tilassa, joten foreach sopii parhaiten arvojen lukemiseen sen sijaan, että muuttaisi niitä paikallaan.
- Muokataksesi elementtejä katsomisen aikanaping, käytä sen sijaan for-silmukkaa indeksin kanssa.
- foreach toimii yksiulotteisten taulukoiden, moniulotteisten taulukoiden ja kaikkien iteraatiota tukevien kokoelmien kanssa.
C# moniulotteiset taulukot
Tähän mennessä esitetyt taulukot ovat yksiulotteisia, eli ne tallentavat yksinkertaisen arvoluettelon. C# tukee myös moniulotteisia taulukoita, jotka järjestävät elementit rivien ja sarakkeiden muodostamaan ruudukkoon. Kaksiulotteinen taulukko on yleisin muoto ja sopii esimerkiksi matriiseille, pelilaudoille ja taulukoille.
Kaksiulotteinen taulukko määritetään sijoittamalla pilkku hakasulkeiden sisään. Jokainen ylimääräinen pilkku lisää yhden ulottuvuuden, joten int[,] on kaksiulotteinen ja int[,,] on kolmiulotteinen. Elementteihin päästään sitten yhdellä indeksillä ulottuvuutta kohden.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[,] matrix = new int[2, 2] { {1, 2}, {3, 4} }; Console.WriteLine(matrix[0, 0]); Console.WriteLine(matrix[1, 1]); Console.ReadKey(); } } }
Tässä taulukkomatriisissa on kaksi riviä ja kaksi saraketta. Alkio matriisi[0, 0] palauttaa arvon 1 ja matriisi[1, 1] palauttaa arvon 4. Ulottuvuuksien lukumäärä on kiinteä taulukkoa määritettäessä, kun taas kunkin ulottuvuuden koko asetetaan taulukkoa luotaessa.
C# rosoiset taulukot
Rosoinen taulukko on taulukko, jonka elementit ovat itse taulukoita. Toisin kuin suorakulmaisessa moniulotteisessa taulukossa, jokaisella sisätaulukolla voi olla eri pituus, minkä vuoksi rosoista taulukkoa kutsutaan usein taulukkotaulukoksi. Tämä joustavuus on hyödyllistä, kun riveillä on luonnostaan eri määriä arvoja.
Määrität rosoisen taulukon, jossa on kaksi hakasulkeparia, ja luot sitten jokaisen sisäisen taulukon erikseen. Seuraavassa esimerkissä luodaan rosoinen taulukko, jossa ensimmäisellä rivillä on kolme arvoa ja toisella rivillä kaksi.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[][] jagged = new int[2][]; jagged[0] = new int[] {1, 2, 3}; jagged[1] = new int[] {4, 5}; Console.WriteLine(jagged[0][2]); Console.WriteLine(jagged[1][1]); Console.ReadKey(); } } }
Lauseke jagged[0][2] lukee ensimmäisen rivin kolmannen elementin, joka on 3, ja jagged[1][1] lukee toisen rivin toisen elementin, joka on 5. Koska jokainen rivi on erillinen taulukko, rosoiset taulukot käyttävät muistia tehokkaasti, kun rivien pituudet vaihtelevat, vaikka ne tarvitsevatkin ylimääräisen vaiheen jokaisen sisäisen taulukon alustamiseksi.




