Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Flerdimensionella Arrayer | Arrayer
C#-Grunder

bookFlerdimensionella 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

main.cs

copy
1
datatype[][] 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

main.cs

copy
1
int[,] 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

main.cs

copy
12345
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };

Betrakta exemplet med verkliga värden:

main.cs

main.cs

copy
12345678910111213141516171819202122
using 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

main.cs

copy
1
arrayName[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

main.cs

copy
123456789101112131415161718
using 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

main.cs

copy
123
int[,,] 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

main.cs

copy
123456
int[,,] 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} } };
question mark

Vilken är den korrekta koden för att komma åt elementet "Pumpkin" från arrayen foods:

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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?

bookFlerdimensionella 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

main.cs

copy
1
datatype[][] 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

main.cs

copy
1
int[,] 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

main.cs

copy
12345
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };

Betrakta exemplet med verkliga värden:

main.cs

main.cs

copy
12345678910111213141516171819202122
using 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

main.cs

copy
1
arrayName[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

main.cs

copy
123456789101112131415161718
using 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

main.cs

copy
123
int[,,] 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

main.cs

copy
123456
int[,,] 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} } };
question mark

Vilken är den korrekta koden för att komma åt elementet "Pumpkin" från arrayen foods:

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 5
some-alt