Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Flerdimensjonale Matriser | Section
Practice
Projects
Quizzes & Challenges
Quizer
Challenges
/
C#-Grunnleggende

bookFlerdimensjonale 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 erklære en todimensjonal array ved å bruke følgende syntaks:

main.cs

main.cs

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

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

main.cs

main.cs

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

I eksempelet ovenfor opprettes en ny todimensjonal matrise med størrelse 3x3. Dette betyr at den kan lagre 9 heltall. En todimensjonal matrise kan initialiseres med følgende syntaks:

main.cs

main.cs

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

Vurder eksempelet med reelle verdier:

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

Ovenfor er en 3x4-matrise, og den kan lagre 12 elementer. Følgende illustrasjon viser en 3x3-matrise i en visualisert form:

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

main.cs

main.cs

copy
1
arrayName[row, column];

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

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

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

Slik initialiserer du et 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

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

Select the correct answer

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