Moniulotteiset Taulukot
Taulukot voivat sisältää myös muita taulukoita. Tällaisia taulukoita kutsutaan moniulotteisiksi taulukoiksi. Ne ovat hyödyllisiä, kun halutaan tallentaa tietoa taulukkomuodossa, riveinä ja sarakkeina, tai matriisin muodossa.
Voimme määritellä kaksiulotteisen taulukon seuraavalla syntaksilla:
main.cs
1datatype[][] arrayName = new datatype[lengthX, lengthY];
Yllä olevalla syntaksilla luodulla taulukolla on pituus (koko) lengthX
, ja jokainen alkio on taulukko, jonka koko on lengthY
:
main.cs
1int[,] numbers = new int[3,3];
Yllä olevassa tapauksessa luodaan uusi kaksiulotteinen matriisi, jonka koko on 3x3. Tämä tarkoittaa, että se voi sisältää 9
kokonaislukua. Kaksiulotteinen taulukko voidaan alustaa seuraavalla syntaksilla:
main.cs
12345datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Tarkastellaan esimerkkiä, jossa on todellisia arvoja:
main.cs
12345678910111213141516171819202122using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; // Displaying the array foreach (int number in numbers) { Console.Write(number + " "); } } } }
Yllä oleva on 3x4-matriisi, ja siihen voidaan tallentaa 12 alkiota. Seuraava kuva havainnollistaa 3x3-matriisia visuaalisessa muodossa:
Indeksointi moniulotteisissa taulukoissa on samanlaista kuin tavallisissa taulukoissa. Ilmoitetaan yksinkertaisesti rivin ja sarakkeen indeksi.
main.cs
1arrayName[row, column];
Esimerkiksi, jos halutaan hakea arvon 6
taulukosta numbers
(kuten kuvassa), käytetään alkiota indeksissä [2][2]
, joka vastaa toista rivi-indeksiä ja toista sarake-indeksiä.
main.cs
123456789101112131415161718using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; Console.WriteLine(numbers[1, 2]); // Output: 7 } } }
Korkeamman ulottuvuuden taulukot ovat myös mahdollisia lisäämällä ylimääräisiä pilkkuja määrittelysyntaksiin:
main.cs
123int[,,] myArray3D = new int[3, 4, 5]; int[,,,] myArray4D = new int[5, 4, 9, 10]; // Similarly more complex ones are possible as well using the same pattern
Yllä olevassa koodissa myArray3D
sisältää 60
alkiota (3x4x5), kun taas myArray4D
sisältää 1800
alkiota (5x4x9x10).
Seuraavassa esimerkki 3-ulotteisen taulukon alustamisesta:
main.cs
123456int[,,] numbers = { { {1, 2, 3}, { 4, 5, 6 }, {7, 8, 9} }, { {10, 11, 12}, {13, 14, 15}, {16, 17, 18} }, { {19, 20, 21}, {22, 23, 24}, {25, 26, 27} } };
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 1.59
Moniulotteiset Taulukot
Pyyhkäise näyttääksesi valikon
Taulukot voivat sisältää myös muita taulukoita. Tällaisia taulukoita kutsutaan moniulotteisiksi taulukoiksi. Ne ovat hyödyllisiä, kun halutaan tallentaa tietoa taulukkomuodossa, riveinä ja sarakkeina, tai matriisin muodossa.
Voimme määritellä kaksiulotteisen taulukon seuraavalla syntaksilla:
main.cs
1datatype[][] arrayName = new datatype[lengthX, lengthY];
Yllä olevalla syntaksilla luodulla taulukolla on pituus (koko) lengthX
, ja jokainen alkio on taulukko, jonka koko on lengthY
:
main.cs
1int[,] numbers = new int[3,3];
Yllä olevassa tapauksessa luodaan uusi kaksiulotteinen matriisi, jonka koko on 3x3. Tämä tarkoittaa, että se voi sisältää 9
kokonaislukua. Kaksiulotteinen taulukko voidaan alustaa seuraavalla syntaksilla:
main.cs
12345datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Tarkastellaan esimerkkiä, jossa on todellisia arvoja:
main.cs
12345678910111213141516171819202122using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; // Displaying the array foreach (int number in numbers) { Console.Write(number + " "); } } } }
Yllä oleva on 3x4-matriisi, ja siihen voidaan tallentaa 12 alkiota. Seuraava kuva havainnollistaa 3x3-matriisia visuaalisessa muodossa:
Indeksointi moniulotteisissa taulukoissa on samanlaista kuin tavallisissa taulukoissa. Ilmoitetaan yksinkertaisesti rivin ja sarakkeen indeksi.
main.cs
1arrayName[row, column];
Esimerkiksi, jos halutaan hakea arvon 6
taulukosta numbers
(kuten kuvassa), käytetään alkiota indeksissä [2][2]
, joka vastaa toista rivi-indeksiä ja toista sarake-indeksiä.
main.cs
123456789101112131415161718using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; Console.WriteLine(numbers[1, 2]); // Output: 7 } } }
Korkeamman ulottuvuuden taulukot ovat myös mahdollisia lisäämällä ylimääräisiä pilkkuja määrittelysyntaksiin:
main.cs
123int[,,] myArray3D = new int[3, 4, 5]; int[,,,] myArray4D = new int[5, 4, 9, 10]; // Similarly more complex ones are possible as well using the same pattern
Yllä olevassa koodissa myArray3D
sisältää 60
alkiota (3x4x5), kun taas myArray4D
sisältää 1800
alkiota (5x4x9x10).
Seuraavassa esimerkki 3-ulotteisen taulukon alustamisesta:
main.cs
123456int[,,] numbers = { { {1, 2, 3}, { 4, 5, 6 }, {7, 8, 9} }, { {10, 11, 12}, {13, 14, 15}, {16, 17, 18} }, { {19, 20, 21}, {22, 23, 24}, {25, 26, 27} } };
Kiitos palautteestasi!