Flerdimensjonale tabeller
Rutenett og ujevne tabeller.
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]); // 0Få 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]); // 9Initialisere 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]); // 4GetLength-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)); // 3Gå 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]); // 5Sagtannede 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]); // 5Rektangulæ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); // 3Summere 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); // 10Kort 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#.
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
- Deklarer tabeller
- Indeksering og lengde
- Gå gjennom tabeller i løkker
- Flerdimensjonale tabeller