Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Flerdimensjonale Matriser | Seksjon
C#-Grunnleggende

Flerdimensjonale Matriser

Sveip for å vise menyen

Arrayer kan også inneholde andre arrayer. Slike arrayer kalles flerdimensjonale arrayer. Disse er nyttige når vi ønsker å lagre data i tabellform, med rader og kolonner, eller som en matrise.

Vi kan deklarere en todimensjonal array med følgende syntaks:

main.cs

main.cs

1
datatype[][] arrayName = new datatype[lengthX, lengthY];

Arrayen som opprettes med syntaksen over vil ha lengde (størrelse) lik lengthX, og hvert element vil være en array med størrelse lengthY:

main.cs

main.cs

1
int[,] numbers = new int[3,3];

I eksempelet ovenfor oppretter vi en ny todimensjonal matrise med størrelse 3x3. Det betyr at den kan lagre 9 heltall. Vi kan initialisere et 2D-array ved å bruke følgende syntaks:

main.cs

main.cs

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

Vurder eksempelet med reelle verdier:

main.cs

main.cs

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 + " "); } } } }

Ovenfor er en 3x4-matrise, og den kan lagre 12 elementer. Illustrasjonen nedenfor viser en 3x3-matrise i visuell form:

Indeksering i flerdimensjonale matriser ligner på vanlige matriser. Vi angir ganske enkelt rad- og kolonneindeks.

main.cs

main.cs

1
arrayName[row, column];

For eksempel, hvis vi vil hente verdien 6 fra numbers-arrayet (vist i illustrasjonen), bruker vi elementet på indeks [2][2], som tilsvarer andre radindeks og andre kolonneindeks.

main.cs

main.cs

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øyere-dimensjonale arrayer er også mulig ved å legge til ekstra kommaer i deklarasjonssyntaksen:

main.cs

main.cs

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 ovenfor vil myArray3D ha 60 elementer (3x4x5), mens myArray4D vil ha 1800 elementer (5x4x9x10).

Følgende viser hvordan du initialiserer et 3D-array:

main.cs

main.cs

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

Hva er riktig kode for å få tilgang til elementet "Pumpkin" fra foods-arrayet:

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 47

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 47
some-alt