C# Array Tutorial: Opprett, erklær, initialiser
⚡ Smart oppsummering
C#-arrayer lagrer en samling av elementer med fast størrelse som deler samme datatype under ett variabelnavn. Hvert element sitter i en nullbasert indeks, slik at deklarering, initialisering og tilgang til verdier forblir rask og forutsigbar.

Hva er en Arrays i C#?
En matrise brukes til å lagre en samling eller serie med elementer. Disse elementene vil være av samme type.
Så hvis du for eksempel hadde en matrise med heltallsverdier, kan matrisen være en samling verdier som [1, 2, 3, 4]. Her er antall elementer i matrisen 4.
Matriser er nyttige når du vil lagre en samling verdier av samme type. Så i stedet for å erklære en variabel for hvert element kan du bare deklarere én variabel.
Denne variabelen vil peke til en matrise eller en liste over elementer, som vil være ansvarlig for å lagre elementene i matrisen.
La oss se på hvordan vi kan jobbe med arrays i C#. I vårt eksempel vil vi deklarere en rekke heltall og jobbe med dem deretter.
Merk at all koden nedenfor blir laget til Program.cs-filen.
Trinn 1) Deklarere en matrise – Det første trinnet er å deklarere en matrise. La oss se hvordan vi kan oppnå dette ved hjelp av kodeeksemplet nedenfor.
Code Forklaring:-
- Den første delen er data-type. Den spesifiserer typen elementer som brukes i matrisen. Så i vårt tilfelle lager vi en rekke heltall.
- Den andre delen [ ], som spesifiserer rangeringen av matrisen. (Rangen er en plassholder som spesifiserer antall elementer matrisen vil inneholde)
- Neste er navnet på matrisen som i vårt tilfelle er "verdier". Legg merke til at du ser en grønn krøllete understreking, ikke bekymre deg for det. Det er bare .Net som sier at du har deklarert en array, men ikke bruker den noe sted.
Trinn 2) Det neste trinnet er å initialisere matrisen. Her skal vi spesifisere antall verdier matrisen vil inneholde. Vi skal også tilordne verdier til hvert element i matrisen.
Code Forklaring:-
- Først setter vi antall elementer matrisen skal inneholde til 3. Så i hakeparentesene sier vi at matrisen vil inneholde 3 elementer.
- Så tilordner vi verdier til hvert element i arrayet. Vi kan gjøre dette ved å spesifisere variabelnavnet + indeksposisjonen i arrayet. Så values[0] betyr at vi lagrer en verdi i den første posisjonen i arrayet. På samme måte, for å få tilgang til den andre posisjonen, bruker vi notasjonen values[1] og så videre.
Merknader: – I Arrays starter indeksposisjonen fra 0.
Trinn 3) La oss nå vise de individuelle elementene i matrisen i konsollen. La oss legge til koden nedenfor for å oppnå 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 delen der vi bare bruker Console.WriteLine-metoden for å sende hver verdi av elementet til konsollen.
Merk at igjen, vi får tilgang til hvert element ved hjelp av array-variabelnavnet sammen med indeksposisjonen.
Hvis koden ovenfor angis riktig og programmet kjøres, vil følgende utgang vises.
Utgang:
Fra utgangen kan du se alle verdiene til matrisen som vises i konsollen.
Slik går du gjennom en C#-matrise med foreach
Det fungerer å lese hvert element etter indeksen, men det blir kjedelig når en matrise inneholder mange verdier. Foreach-løkken tilbyr en renere måte å besøke hvert element i en matrise i rekkefølge uten trackonstruer en indeksvariabel selv.
foreach-setningen tar hvert element fra arrayet ett om gangen og kopierer det inn i en løkkevariabel. Deretter bruker du variabelen inne i løkkekroppen. Fordi løkken stopper automatisk ved det siste elementet, fjerner foreach risikoen for å lese forbi slutten av 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 en matrise med tre heltall, og går deretter gjennom den med foreach. Ved hver omgang brukes variabelen elementet mottar den neste verdien, og Console.WriteLine skriver den ut. Utdataene er tallene 1, 2 og 3 på separate linjer.
Viktige punkter å huske på om foreach med arrayer:
- Løkkevariabelen er skrivebeskyttet, så foreach er best for å lese verdier i stedet for å endre dem på plass.
- For å endre elementer mens du ser påping, bruk i stedet en for-løkke med en indeks.
- foreach fungerer med endimensjonale arrays, flerdimensjonale arrays og enhver samling som støtter iterasjon.
C# flerdimensjonale arrayer
Arrayene som er vist så langt er endimensjonale, som betyr at de lagrer en enkel liste med verdier. C# støtter også flerdimensjonale arrayer, som arrangerer elementer i et rutenett av rader og kolonner. En todimensjonal array er den vanligste formen og passer til data som matriser, spillbrett og tabeller.
Du deklarerer en todimensjonal matrise ved å sette et komma i hakeparentesene. Hvert ekstra komma legger til en annen dimensjon, så int[,] er todimensjonal og int[,,] er tredimensjonal. Elementer nås deretter med én indeks per dimensjon.
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 inneholder arraymatrisen to rader og to kolonner. Elementet matrix[0, 0] returnerer 1, og matrix[1, 1] returnerer 4. Antall dimensjoner er fast når arrayet deklareres, mens størrelsen på hver dimensjon er satt når arrayet opprettes.
C# Taggete arrayer
En taggete matrise er en matrise der elementene i seg selv er matriser. I motsetning til en rektangulær flerdimensjonal matrise kan hver indre matrise ha ulik lengde, og det er derfor en tagget matrise ofte kalles en matrise av matriser. Denne fleksibiliteten hjelper når rader naturlig inneholder forskjellige antall verdier.
Du deklarerer en taggete array med to sett med hakeparenteser, og oppretter deretter hver indre array separat. Følgende eksempel bygger en taggete array der den første raden inneholder tre verdier og den andre raden inneholder 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(); } } }
Uttrykket jagged[0][2] leser det tredje elementet i den første raden, som er 3, og jagged[1][1] leser det andre elementet i den andre raden, som er 5. Fordi hver rad er en separat matrise, bruker jagged-matriser minne effektivt når radlengdene varierer, selv om de trenger et ekstra trinn for å initialisere hver indre matrise.




