C# Academy · Oppitunti

Moniulotteiset taulukot

Ruudukot ja sahalaitaiset taulukot.

Oppitunti 4/413 vaihetta

Moniulotteiset taulukot on ilmainen C# Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C# Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C# Academy-kurssilla on yhteensä 4 oppituntia.

Yhtä riviä pidemmälle

Tähän asti taulukot ovat olleet yksi arvojen rivi. Moniulotteinen taulukko tallentaa arvot ruudukkoon, esimerkiksi laskentataulukon rivien ja sarakkeiden tapaan.

Ne sopivat erinomaisesti pelilautoihin, taulukoihin ja matriiseihin.

Kaksiulotteisen taulukon määrittäminen

Kaksiulotteisessa taulukossa hakasulkeiden sisällä on pilkku: [,]. Määritätte kaksi kokoa: rivien ja sarakkeiden määrän.

Tässä ruudukossa on 2 riviä ja 3 saraketta, joten siihen mahtuu 6 arvoa.

int[,] grid = new int[2, 3];
Console.WriteLine(grid[0, 0]); // 0

Solujen käsitteleminen

Voitte lukea tai kirjoittaa soluun antamalla sekä rivin että sarakkeen indeksin pilkulla erotettuina.

Molemmat indeksit alkavat nollasta aivan kuten yksiulotteisissa taulukoissa.

int[,] grid = new int[2, 3];
grid[0, 1] = 7;
grid[1, 2] = 9;
Console.WriteLine(grid[1, 2]); // 9

Ruudukon alustaminen

Voitte täyttää kaksiulotteisen taulukon luomisen yhteydessä sisäkkäisillä aaltosulkeilla. Jokainen sisempi ryhmä on yksi rivi.

Kaikilla riveillä täytyy olla sama määrä sarakkeita.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid[1, 0]); // 4

GetLength-metodi

Kaksiulotteisessa taulukossa Length antaa solujen kokonaismäärän. Yhden ulottuvuuden koon saatte selville käyttämällä GetLength-metodia.

GetLength(0) on rivien määrä ja GetLength(1) sarakkeiden määrä.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid.Length);        // 6
Console.WriteLine(grid.GetLength(0));  // 2
Console.WriteLine(grid.GetLength(1));  // 3

Ruudukon läpikäyminen

Käydäksenne jokaisen solun läpi käyttäkää yhtä silmukkaa riveille ja sen sisällä toista sarakkeille. Ulompi silmukka valitsee rivin ja sisempi silmukka käy sen sarakkeet läpi.

Käyttäkää GetLength-metodia, jotta silmukat vastaavat todellista kokoa.

int[,] grid = { { 1, 2 }, { 3, 4 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine(grid[r, c]);
    }
}

Kokonainen ruudukko-ohjelma

Tämä kokonainen ohjelma muodostaa pienen ruudukon ja tulostaa sitten jokaisen arvon sekä sen rivin ja sarakkeen.

Suorittakaa ohjelma nähdäksenne kaikki neljä solua lueteltuina.

int[,] grid = { { 10, 20 }, { 30, 40 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine("[" + r + "," + c + "] = " + grid[r, c]);
    }
}

Kolme ulottuvuutta

Voitte lisätä ulottuvuuksia lisäämällä pilkkuja. Kolmiulotteisessa taulukossa käytetään [,,]-merkintää ja kolmea kokoa.

Ajatelkaa sitä ruudukoista koostuvana pinona. Ne ovat harvinaisempia, mutta noudattavat samoja sääntöjä.

int[,,] cube = new int[2, 2, 2];
cube[1, 1, 1] = 5;
Console.WriteLine(cube[1, 1, 1]); // 5

Lomitetut taulukot

Lomitetuissa taulukoissa on taulukkoja taulukon sisällä, ja ne kirjoitetaan muodossa [][]. Toisin kuin suorakulmaisessa ruudukossa, jokaisella rivillä voi olla eri pituus.

Niitä käsitellään käyttämällä kahta erillistä hakasulkeparia.

int[][] jagged = new int[2][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5 };
Console.WriteLine(jagged[1][2]); // 5

Suorakulmainen vai lomitettu

Suorakulmaisessa [,]-taulukossa riveillä on aina sama pituus ja tiedot tallennetaan tiiviisti. Lomitetussa [][]-taulukossa rivien pituudet voivat vaihdella.

Valitkaa suorakulmainen taulukko varsinaisiin taulukoihin ja lomitettu taulukko silloin, kun rivien koko vaihtelee luonnostaan.

int[][] rows = { new[] { 1 }, new[] { 2, 3, 4 } };
Console.WriteLine(rows[0].Length); // 1
Console.WriteLine(rows[1].Length); // 3

Ruudukon summaaminen

Voitte laskea kaikki ruudukon arvot yhteen lisäämällä jokaisen solun arvon sisäkkäisten silmukoiden sisällä.

Tämä toimintamalli skaalautuu kaikenkokoisiin riveistä ja sarakkeista koostuviin ruudukoihin.

int[,] grid = { { 1, 2 }, { 3, 4 } };
int total = 0;
foreach (int v in grid)
{
    total += v;
}
Console.WriteLine(total); // 10

Pikatesti

Testatkaa moniulotteisia taulukoita koskevat tietonne.

Kertaus

Opitte muodostamaan ruudukoita merkinnällä [,], käsittelemään soluja rivin ja sarakkeen indeksien avulla sekä mittaamaan niitä GetLength-metodilla.

Sisäkkäiset silmukat käyvät jokaisen solun läpi, ylimääräiset pilkut lisäävät ulottuvuuksia ja lomitetut [][]-taulukot sallivat eripituiset rivit. Nyt osaatte tallentaa ja käsitellä tietotaulukoita C#:lla.

Aloita maksutta

Opi C# tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
93
Oppitunnit
346

Usein kysytyt kysymykset

Onko oppitunti ”Moniulotteiset taulukot” ilmainen?

Kyllä – oppitunnin ”Moniulotteiset taulukot” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C# Academy-kurssin, päivitä CoddyKit PROhon. C# Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Moniulotteiset taulukot”?

Ruudukot ja sahalaitaiset taulukot. Harjoittelet C# Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni C# Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin C# Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Moniulotteiset taulukot”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä C# Academy-oppitunnilla?

Kyllä. Jokainen C# Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Taulukoiden määrittäminen
  2. Indeksointi ja pituus
  3. Taulukoiden läpikäynti silmukalla
  4. Moniulotteiset taulukot
← Takaisin: C# Academy