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?

Awesome!

Completion rate improved to 1.59

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