C# Academy · leksjon

Flerdimensjonale tabeller

Rutenett og ujevne tabeller.

Leksjon 4 av 413 trinn

Flerdimensjonale tabeller er en gratis leksjon i C# Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C# Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C# Academy inneholder totalt 4 leksjoner.

Mer enn én rad

Så langt har matriser vært én enkelt linje med verdier. En flerdimensjonal matrise lagrer verdier i et rutenett, omtrent som et regneark med rader og kolonner.

De egner seg godt til spillbrett, tabeller og matriser.

Deklarere en 2D-matrise

En todimensjonal matrise bruker et komma inne i hakeparentesene: [,]. Du oppgir to størrelser: antallet rader og antallet kolonner.

Dette rutenettet har 2 rader og 3 kolonner, så det inneholder 6 verdier.

int[,] grid = new int[2, 3];
Console.WriteLine(grid[0, 0]); // 0

Få tilgang til celler

For å lese eller skrive en celle oppgir du både radindeksen og kolonneindeksen, atskilt med et komma.

Begge indeksene er nullbaserte, akkurat som i endimensjonale matriser.

int[,] grid = new int[2, 3];
grid[0, 1] = 7;
grid[1, 2] = 9;
Console.WriteLine(grid[1, 2]); // 9

Initialisere et rutenett

Du kan fylle en 2D-matrise når den opprettes, ved hjelp av nestede klammeparenteser. Hver indre gruppe er én rad.

Alle radene må ha like mange kolonner.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid[1, 0]); // 4

GetLength-metoden

Med to dimensjoner gir Length det totale antallet celler. Bruk GetLength for å få størrelsen på én dimensjon.

GetLength(0) er antallet rader, og GetLength(1) er antallet kolonner.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid.Length);        // 6
Console.WriteLine(grid.GetLength(0));  // 2
Console.WriteLine(grid.GetLength(1));  // 3

Gå gjennom et rutenett

For å besøke hver celle bruker du én løkke for radene inni en annen løkke for kolonnene. Den ytre løkken velger en rad, og den indre løkken går gjennom kolonnene i raden.

Bruk GetLength slik at løkkene samsvarer med den faktiske størrelsen.

int[,] grid = { { 1, 2 }, { 3, 4 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine(grid[r, c]);
    }
}

Et komplett rutenettprogram

Dette komplette programmet bygger et lite rutenett og skriver deretter ut hver verdi sammen med raden og kolonnen.

Kjør det for å se alle de fire cellene listet opp.

int[,] grid = { { 10, 20 }, { 30, 40 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine("[" + r + "," + c + "] = " + grid[r, c]);
    }
}

Tre dimensjoner

Du kan legge til flere dimensjoner med flere kommaer. En 3D-matrise bruker [,,] og tre størrelser.

Tenk på den som en stabel med rutenett. De er mindre vanlige, men følger de samme reglene.

int[,,] cube = new int[2, 2, 2];
cube[1, 1, 1] = 5;
Console.WriteLine(cube[1, 1, 1]); // 5

Sagtannede matriser

En sagtannet matrise er en matrise med matriser, skrevet [][]. I motsetning til et rektangulært rutenett kan hver rad ha ulik lengde.

Du får tilgang til den med to separate par hakeparenteser.

int[][] jagged = new int[2][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5 };
Console.WriteLine(jagged[1][2]); // 5

Rektangulære kontra sagtannede matriser

En rektangulær [,]-matrise har alltid rader med lik lengde og lagrer data kompakt. En sagtannet [][]-matrise tillater rader med ulik lengde.

Velg en rektangulær matrise for ekte tabeller, og en sagtannet når radene naturlig varierer i størrelse.

int[][] rows = { new[] { 1 }, new[] { 2, 3, 4 } };
Console.WriteLine(rows[0].Length); // 1
Console.WriteLine(rows[1].Length); // 3

Summere et rutenett

Du kan summere alle verdiene i et rutenett ved å legge sammen hver celle i nestede løkker.

Dette mønsteret kan brukes for et hvilket som helst antall rader og kolonner.

int[,] grid = { { 1, 2 }, { 3, 4 } };
int total = 0;
foreach (int v in grid)
{
    total += v;
}
Console.WriteLine(total); // 10

Kort kontroll

Test kunnskapene dine om flerdimensjonale matriser.

Oppsummering

Du har lært å bygge rutenett med [,], få tilgang til celler med rad- og kolonneindekser og måle dem med GetLength.

Nestede løkker besøker hver celle, flere kommaer legger til dimensjoner, og sagtannede [][]-matriser tillater rader med ulik lengde. Du kan nå lagre og behandle datatabeller i C#.

Gratis å komme i gang

Lær deg C# med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
93
Leksjoner
346

Ofte stilte spørsmål

Er leksjonen «Flerdimensjonale tabeller» gratis?

Ja – hele teksten i «Flerdimensjonale tabeller» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av C# Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i C# Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Flerdimensjonale tabeller»?

Rutenett og ujevne tabeller. Du øver på C# Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med C# Academy?

Ingen tidligere erfaring er nødvendig. C# Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Flerdimensjonale tabeller»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne C# Academy-leksjonen?

Ja. Alle C# Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Deklarer tabeller
  2. Indeksering og lengde
  3. Gå gjennom tabeller i løkker
  4. Flerdimensjonale tabeller
← Tilbake til C# Academy