Multidimensionelle Arrays
Arrays kan også indeholde yderligere arrays indeni sig. Sådanne arrays kaldes multidimensionelle arrays. Disse er nyttige, når data skal gemmes i tabelform, med rækker og kolonner, eller i form af en matrix.
En todimensionel array kan deklareres med følgende syntaks:
main.cs
1datatype[][] arrayName = new datatype[lengthX, lengthY];
Arrayet, der oprettes med ovenstående syntaks, vil have en længde (størrelse) svarende til lengthX, og hvert element vil være et array med størrelsen lengthY:
main.cs
1int[,] numbers = new int[3,3];
I ovenstående tilfælde oprettes en ny todimensionel matrix med størrelsen 3x3. Det betyder, at den kan indeholde 9 heltal. En 2D-array kan initialiseres ved hjælp af følgende syntaks:
main.cs
12345datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Overvej eksemplet med reelle værdier:
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 + " "); } } } }
Ovenstående er en 3x4 matrix, og den kan gemme 12 elementer. Følgende illustration viser en 3x3 matrix i en visualiseret form:
Indeksering i multidimensionelle arrays ligner den i normale arrays. Man angiver blot række- og kolonneindekset.
main.cs
1arrayName[row, column];
For eksempel, hvis man vil tilgå værdien 6 fra numbers arrayet (vist i illustrationen), bruges elementet ved indeks [2][2], hvilket svarer til anden rækkeindeks og anden kolonneindeks.
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 } } }
Højere-dimensionelle arrays er også mulige ved at tilføje ekstra kommaer til deklarationssyntaksen:
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
I ovenstående kode vil myArray3D have 60 elementer (3x4x5), mens myArray4D vil have 1800 elementer (5x4x9x10).
Nedenfor vises, hvordan du initialiserer et 3D-array:
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} } };
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain how to access elements in a 3D array?
What are some practical uses for higher dimensional arrays?
Can you show an example of initializing a 4D array?
Awesome!
Completion rate improved to 1.59
Multidimensionelle Arrays
Stryg for at vise menuen
Arrays kan også indeholde yderligere arrays indeni sig. Sådanne arrays kaldes multidimensionelle arrays. Disse er nyttige, når data skal gemmes i tabelform, med rækker og kolonner, eller i form af en matrix.
En todimensionel array kan deklareres med følgende syntaks:
main.cs
1datatype[][] arrayName = new datatype[lengthX, lengthY];
Arrayet, der oprettes med ovenstående syntaks, vil have en længde (størrelse) svarende til lengthX, og hvert element vil være et array med størrelsen lengthY:
main.cs
1int[,] numbers = new int[3,3];
I ovenstående tilfælde oprettes en ny todimensionel matrix med størrelsen 3x3. Det betyder, at den kan indeholde 9 heltal. En 2D-array kan initialiseres ved hjælp af følgende syntaks:
main.cs
12345datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Overvej eksemplet med reelle værdier:
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 + " "); } } } }
Ovenstående er en 3x4 matrix, og den kan gemme 12 elementer. Følgende illustration viser en 3x3 matrix i en visualiseret form:
Indeksering i multidimensionelle arrays ligner den i normale arrays. Man angiver blot række- og kolonneindekset.
main.cs
1arrayName[row, column];
For eksempel, hvis man vil tilgå værdien 6 fra numbers arrayet (vist i illustrationen), bruges elementet ved indeks [2][2], hvilket svarer til anden rækkeindeks og anden kolonneindeks.
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 } } }
Højere-dimensionelle arrays er også mulige ved at tilføje ekstra kommaer til deklarationssyntaksen:
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
I ovenstående kode vil myArray3D have 60 elementer (3x4x5), mens myArray4D vil have 1800 elementer (5x4x9x10).
Nedenfor vises, hvordan du initialiserer et 3D-array:
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} } };
Tak for dine kommentarer!