Flerdimensionella Arrayer
Arrayer kan också innehålla ytterligare arrayer inuti sig. Sådana arrayer kallas flerdimensionella arrayer. Dessa är användbara när vi vill lagra data i tabellform, med rader och kolumner, eller i form av en matris.
Vi kan deklarera en tvådimensionell array med följande syntax:
main.cs
1datatype[][] arrayName = new datatype[lengthX, lengthY];
Arrayen som skapas med ovanstående syntax kommer att ha längden (storleken) lika med lengthX
och varje element kommer att vara en array av storlek lengthY
:
main.cs
1int[,] numbers = new int[3,3];
I exemplet ovan skapar vi en ny tvådimensionell matris med storleken 3x3. Det innebär att den kan lagra 9
heltal. Vi kan initiera en 2D-array med följande syntax:
main.cs
12345datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Betrakta exemplet med verkliga värden:
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 + " "); } } } }
Ovanstående är en 3x4-matris och den kan lagra 12 element. Följande illustration visar en 3x3-matris i visualiserad form:
Indexering i multidimensionella arrayer liknar den i vanliga arrayer. Vi anger helt enkelt rad- och kolumnindex.
main.cs
1arrayName[row, column];
Till exempel, om vi vill komma åt värdet 6
från arrayen numbers
(visas i illustrationen), använder du elementet på index [2][2]
, vilket motsvarar andra radindex och andra kolumnindex.
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ögre dimensionella arrayer är också möjliga genom att lägga till extra kommatecken i deklarationssyntaxen:
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 koden ovan kommer myArray3D
att ha 60
element (3x4x5), medan myArray4D
kommer att ha 1800
element (5x4x9x10).
Nedan visas hur du initierar en 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} } };
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Flerdimensionella Arrayer
Svep för att visa menyn
Arrayer kan också innehålla ytterligare arrayer inuti sig. Sådana arrayer kallas flerdimensionella arrayer. Dessa är användbara när vi vill lagra data i tabellform, med rader och kolumner, eller i form av en matris.
Vi kan deklarera en tvådimensionell array med följande syntax:
main.cs
1datatype[][] arrayName = new datatype[lengthX, lengthY];
Arrayen som skapas med ovanstående syntax kommer att ha längden (storleken) lika med lengthX
och varje element kommer att vara en array av storlek lengthY
:
main.cs
1int[,] numbers = new int[3,3];
I exemplet ovan skapar vi en ny tvådimensionell matris med storleken 3x3. Det innebär att den kan lagra 9
heltal. Vi kan initiera en 2D-array med följande syntax:
main.cs
12345datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Betrakta exemplet med verkliga värden:
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 + " "); } } } }
Ovanstående är en 3x4-matris och den kan lagra 12 element. Följande illustration visar en 3x3-matris i visualiserad form:
Indexering i multidimensionella arrayer liknar den i vanliga arrayer. Vi anger helt enkelt rad- och kolumnindex.
main.cs
1arrayName[row, column];
Till exempel, om vi vill komma åt värdet 6
från arrayen numbers
(visas i illustrationen), använder du elementet på index [2][2]
, vilket motsvarar andra radindex och andra kolumnindex.
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ögre dimensionella arrayer är också möjliga genom att lägga till extra kommatecken i deklarationssyntaxen:
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 koden ovan kommer myArray3D
att ha 60
element (3x4x5), medan myArray4D
kommer att ha 1800
element (5x4x9x10).
Nedan visas hur du initierar en 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} } };
Tack för dina kommentarer!