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 at bruge 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 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 kolonneindeks.
main.cs
1arrayName[row, column];
For eksempel, hvis man ønsker at tilgå værdien 6 fra numbers arrayet (vist i illustrationen), anvendes 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