Haaste: Moniulotteiset Taulukot
Moniulotteisten taulukoiden indeksointia varten on joskus hyödyllistä määritellä vakiot. Seuraavassa on taulukko edellisen luvun kyselystä:
main.cs
1234567const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };
Olemme luoneet kaksi vakiota, FRUITS ja VEGETABLES, joiden arvot ovat 0 ja 1. Ne edustavat rivejä 0 (hedelmät) ja 1 (vihannekset) taulukossa foods.
Jos haluamme hakea vihannesten joukosta alkion "Cabbage", voimme yksinkertaisesti kirjoittaa:
main.cs
1foods[VEGETABLES][1];
Tämä niksi ei välttämättä ole kovin hyödyllinen pienemmissä taulukoissa, kuten tässä esimerkissä, mutta kun käsitellään monimutkaisempia taulukoita, vakioiden käyttö voi helpottaa helppoa alkioiden hakua taulukosta, jolloin meidän ei tarvitse muistaa mikä rivi sisältää mitkäkin alkiot – erityisesti jos olemme luokitelleet alkiot riveihin.
Nyt haasteena on luoda 2-ulotteinen taulukko tyyppiä string nimellä productOptions, jonka koko on 4x3 (4 riviä, 3 saraketta). Alusta se seuraavilla tiedoilla:
- Rivi 1: 
"Red", "Green", "White"; - Rivi 2: 
"Square", "Rectangle", "Sphere"; - Rivi 3: 
"Thick", "Medium", "Thin"; - Rivi 4: 
"Printed", "Crafted", "None". 
Hae "Crafted"-alkio indeksoimalla ja tulosta se. Käytä siihen sopivaa vakiomuuttujaa.
main.cs
123456789101112131415161718192021222324using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below _______ = { _______ }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
- Moniulotteisen taulukon määrittelyssä lisätään pilkkuja hakasulkeiden (
[]) sisään taulukon ulottuvuuksien mukaan. Esimerkiksi kolmiulotteinen kokonaislukutaulukko määritellään näin:int[,,] arrayName = { ... };. - Indeksoinnissa voidaan käyttää muuttujia tai vakioarvoja.
Esimerkiksi jos meillä on taulukko 
int[] exampleArray = { 1, 2, 3, 4, 5 };ja vakioconst int someIndex = 2, on sallittua kirjoittaaexampleArray[someIndex]viitatakseen taulukon arvoon 3. 
main.cs
123456789101112131415161718192021222324252627using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below string[,] productOptions = { { "Red", "Green", "White" }, { "Square", "Rectangle", "Sphere" }, { "Thick", "Medium", "Thin" }, { "Printed", "Crafted", "None" } }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you show me how to declare the constants for the rows?
What would the code look like to initialize the 2D array?
How do I access and print the "Crafted" element using the constant?
Awesome!
Completion rate improved to 1.56
Haaste: Moniulotteiset Taulukot
Pyyhkäise näyttääksesi valikon
Moniulotteisten taulukoiden indeksointia varten on joskus hyödyllistä määritellä vakiot. Seuraavassa on taulukko edellisen luvun kyselystä:
main.cs
1234567const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };
Olemme luoneet kaksi vakiota, FRUITS ja VEGETABLES, joiden arvot ovat 0 ja 1. Ne edustavat rivejä 0 (hedelmät) ja 1 (vihannekset) taulukossa foods.
Jos haluamme hakea vihannesten joukosta alkion "Cabbage", voimme yksinkertaisesti kirjoittaa:
main.cs
1foods[VEGETABLES][1];
Tämä niksi ei välttämättä ole kovin hyödyllinen pienemmissä taulukoissa, kuten tässä esimerkissä, mutta kun käsitellään monimutkaisempia taulukoita, vakioiden käyttö voi helpottaa helppoa alkioiden hakua taulukosta, jolloin meidän ei tarvitse muistaa mikä rivi sisältää mitkäkin alkiot – erityisesti jos olemme luokitelleet alkiot riveihin.
Nyt haasteena on luoda 2-ulotteinen taulukko tyyppiä string nimellä productOptions, jonka koko on 4x3 (4 riviä, 3 saraketta). Alusta se seuraavilla tiedoilla:
- Rivi 1: 
"Red", "Green", "White"; - Rivi 2: 
"Square", "Rectangle", "Sphere"; - Rivi 3: 
"Thick", "Medium", "Thin"; - Rivi 4: 
"Printed", "Crafted", "None". 
Hae "Crafted"-alkio indeksoimalla ja tulosta se. Käytä siihen sopivaa vakiomuuttujaa.
main.cs
123456789101112131415161718192021222324using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below _______ = { _______ }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
- Moniulotteisen taulukon määrittelyssä lisätään pilkkuja hakasulkeiden (
[]) sisään taulukon ulottuvuuksien mukaan. Esimerkiksi kolmiulotteinen kokonaislukutaulukko määritellään näin:int[,,] arrayName = { ... };. - Indeksoinnissa voidaan käyttää muuttujia tai vakioarvoja.
Esimerkiksi jos meillä on taulukko 
int[] exampleArray = { 1, 2, 3, 4, 5 };ja vakioconst int someIndex = 2, on sallittua kirjoittaaexampleArray[someIndex]viitatakseen taulukon arvoon 3. 
main.cs
123456789101112131415161718192021222324252627using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below string[,] productOptions = { { "Red", "Green", "White" }, { "Square", "Rectangle", "Sphere" }, { "Thick", "Medium", "Thin" }, { "Printed", "Crafted", "None" } }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
Kiitos palautteestasi!