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 vi ønsker at gemme data i en tabelform, med rækker og kolonner, eller i form af en matrix.
Vi kan erklære et todimensionelt array ved hjælp af følgende syntaks:
main.cs
1datatype[][] arrayName = new datatype[lengthX, lengthY];
Arrayet, der oprettes ved hjælp af ovenstående syntaks, vil have en længde (størrelse) svarende til lengthX, og hvert element vil være et array af størrelsen lengthY:
main.cs
1int[,] numbers = new int[3,3];
I ovenstående tilfælde opretter vi en ny todimensionel matrix med størrelsen 3x3. Det betyder, at den kan indeholde 9 heltal. Vi kan initialisere et 2D-array 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. Vi angiver blot række- og kolonneindeks.
main.cs
1arrayName[row, column];
For eksempel, hvis vi vil tilgå værdien 6 fra numbers arrayet (vist i illustrationen), skal du bruge elementet ved indeks [2][2], hvilket svarer til den anden rækkeindeks og den 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).
Følgende viser, 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
Multidimensionelle Arrays
Arrays kan også indeholde yderligere arrays indeni sig. Sådanne arrays kaldes multidimensionelle arrays. Disse er nyttige, når vi ønsker at gemme data i en tabelform, med rækker og kolonner, eller i form af en matrix.
Vi kan erklære et todimensionelt array ved hjælp af følgende syntaks:
main.cs
1datatype[][] arrayName = new datatype[lengthX, lengthY];
Arrayet, der oprettes ved hjælp af ovenstående syntaks, vil have en længde (størrelse) svarende til lengthX, og hvert element vil være et array af størrelsen lengthY:
main.cs
1int[,] numbers = new int[3,3];
I ovenstående tilfælde opretter vi en ny todimensionel matrix med størrelsen 3x3. Det betyder, at den kan indeholde 9 heltal. Vi kan initialisere et 2D-array 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. Vi angiver blot række- og kolonneindeks.
main.cs
1arrayName[row, column];
For eksempel, hvis vi vil tilgå værdien 6 fra numbers arrayet (vist i illustrationen), skal du bruge elementet ved indeks [2][2], hvilket svarer til den anden rækkeindeks og den 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).
Følgende viser, 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!