C# Array Tutorial: Opret, erklær, initialiser
⚡ Smart opsummering
C# arrays gemmer en samling af elementer med fast størrelse, der deler den samme datatype, under ét variabelnavn. Hvert element sidder på et nulbaseret indeks, så deklarering, initialisering og adgang til værdier forbliver hurtig og forudsigelig.

Hvad er en Arrays i C#?
Et array bruges til at gemme en samling eller serie af elementer. Disse elementer vil være af samme type.
Så hvis du for eksempel havde en matrix af heltalværdier, kunne matrixen være en samling af værdier såsom [1, 2, 3, 4]. Her er antallet af elementer i arrayet 4.
Arrays er nyttige, når du vil gemme en samling af værdier af samme type. Så i stedet for at erklære en variabel for hvert element kan du blot erklære en variabel.
Denne variabel vil pege på et array eller en liste af elementer, som vil være ansvarlig for at gemme elementerne i arrayet.
Lad os se på, hvordan vi kan arbejde med arrays i C#. I vores eksempel vil vi erklære en række heltal og arbejde med dem i overensstemmelse hermed.
Bemærk, at al nedenstående kode bliver lavet til filen Program.cs.
Trin 1) Erklæring af et array – Det første trin er at erklære et array. Lad os se, hvordan vi kan opnå dette ved hjælp af nedenstående kodeeksempel.
Code Forklaring:-
- Den første del er datatype. Det specificerer typen af elementer, der bruges i arrayet. Så i vores tilfælde opretter vi en række heltal.
- Den anden del [ ], som specificerer rækken af arrayet. (Rangen er en pladsholder, som angiver antallet af elementer, som arrayet vil indeholde)
- Dernæst er navnet på arrayet, som i vores tilfælde er 'værdier'. Bemærk, at du ser en grøn snoet understregning, det skal du ikke bekymre dig om. Det er bare .Net, der siger, at du har erklæret et array, men ikke bruger det nogen steder.
Trin 2) Det næste trin er at initialisere arrayet. Her skal vi specificere antallet af værdier arrayet vil indeholde. Vi vil også tildele værdier til hvert element i arrayet.
Code Forklaring:-
- Først indstiller vi antallet af elementer, som arrayet skal indeholde, til 3. Så i firkantede parenteser siger vi, at arrayet vil indeholde 3 elementer.
- Derefter tildeler vi værdier til hvert element i arrayet. Vi kan gøre dette ved at angive variabelnavnet + indekspositionen i arrayet. Så værdier[0] betyder, at vi gemmer en værdi i den første position i arrayet. På samme måde bruger vi notationen værdier[1] for at få adgang til den anden position og så videre.
Bemærk: – I Arrays starter indekspositionen fra 0.
Trin 3) Lad os nu vise de individuelle elementer i arrayet i konsollen. Lad os tilføje nedenstående kode for at opnå dette.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] value; value=new Int32[3]; value[0]=1; value[1]=2; value[2]=3; Console.WriteLine(value[0]); Console.WriteLine(value[1]); Console.WriteLine(value[2]); Console.ReadKey(); } } }
Code Forklaring:-
Dette er den enkle del, hvor vi bare bruger Console.WriteLine metoden til at sende hver værdi af elementet til konsollen.
Bemærk, at vi igen får adgang til hvert element ved hjælp af array-variabelnavnet sammen med indekspositionen.
Hvis ovenstående kode er indtastet korrekt, og programmet køres, vil følgende output blive vist.
Output:
Fra outputtet kan du se alle værdierne for arrayet, der vises i konsollen.
Sådan looper du gennem et C# array ved hjælp af foreach
Det virker at læse hvert element ud fra dets indeks, men det bliver kedeligt, når et array indeholder mange værdier. Foreach-løkken tilbyder en renere måde at besøge hvert element i et array i rækkefølge uden tracoprette en indeksvariabel selv.
foreach-sætningen tager hvert element fra arrayet et ad gangen og kopierer det til en loopvariabel. Du bruger derefter den variabel inde i loop-kroppen. Fordi løkken stopper automatisk ved det sidste element, fjerner foreach risikoen for at læse forbi slutningen af arrayet.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] values = new Int32[3] {1, 2, 3}; foreach (Int32 item in values) { Console.WriteLine(item); } Console.ReadKey(); } } }
Eksemplet ovenfor deklarerer og initialiserer et array af tre heltal og gennemgår det derefter med foreach. Ved hver gennemgang anvendes variablen post modtager den næste værdi, og Console.WriteLine udskriver den. Outputtet er tallene 1, 2 og 3 på separate linjer.
Vigtige punkter at huske om foreach med arrays:
- Løkkevariablen er skrivebeskyttet, så foreach er bedst til at læse værdier i stedet for at ændre dem på stedet.
- Sådan ændrer du elementer under looping, brug i stedet en for-løkke med et indeks.
- foreach fungerer med endimensionelle arrays, flerdimensionelle arrays og enhver samling, der understøtter iteration.
C# flerdimensionelle arrays
De viste arrays indtil videre er endimensionelle, hvilket betyder, at de gemmer en simpel liste over værdier. C# understøtter også flerdimensionelle arrays, som arrangerer elementer i et gitter af rækker og kolonner. Et todimensionelt array er den mest almindelige form og passer til data såsom matricer, spilleplader og tabeller.
Du deklarerer et todimensionelt array ved at placere et komma i de firkantede parenteser. Hvert ekstra komma tilføjer en anden dimension, så int[,] er todimensionel og int[,,] er tredimensionel. Elementer nås derefter med ét indeks pr. dimension.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[,] matrix = new int[2, 2] { {1, 2}, {3, 4} }; Console.WriteLine(matrix[0, 0]); Console.WriteLine(matrix[1, 1]); Console.ReadKey(); } } }
Her indeholder arraymatricen to rækker og to kolonner. Elementet matrix[0, 0] returnerer 1, og matrix[1, 1] returnerer 4. Antallet af dimensioner er fast, når arrayet deklareres, mens størrelsen af hver dimension er angivet, når arrayet oprettes.
C# Takkede Arrays
Et takket array er et array, hvis elementer selv er arrays. I modsætning til et rektangulært flerdimensionelt array kan hvert indre array have en forskellig længde, hvilket er grunden til, at et takket array ofte kaldes et array af arrays. Denne fleksibilitet hjælper, når rækker naturligt indeholder forskellige antal værdier.
Du deklarerer et takket array med to sæt firkantede parenteser og opretter derefter hvert indre array separat. Følgende eksempel bygger et takket array, hvor den første række indeholder tre værdier, og den anden række indeholder to.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[][] jagged = new int[2][]; jagged[0] = new int[] {1, 2, 3}; jagged[1] = new int[] {4, 5}; Console.WriteLine(jagged[0][2]); Console.WriteLine(jagged[1][1]); Console.ReadKey(); } } }
Udtrykket jagged[0][2] læser det tredje element i den første række, som er 3, og jagged[1][1] læser det andet element i den anden række, som er 5. Fordi hver række er et separat array, bruger jagged arrays hukommelsen effektivt, når rækkelængderne varierer, selvom de har brug for et ekstra trin for at initialisere hvert indre array.




