C# Academy · leksjon

Ranges med matriser og strenger

Ta utsnitt av matriser, spans og delstrenger.

Leksjon 3 av 413 trinn

Ranges med matriser og strenger er en gratis leksjon i C# Academy på CoddyKit. Dette er leksjon 3 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.

Lage utsnitt av arrayer

Den vanligste bruken av områder er å lage utsnitt av arrayer. array[1..3] returnerer en ny array som inneholder de valgte elementene.

using System;

int[] data = { 10, 20, 30, 40, 50 };
int[] middle = data[1..3];
Console.WriteLine(string.Join(",", middle)); // 20,30

Utsnitt av arrayer er kopier

For arrayer allokerer et områdeutsnitt en ny array og kopierer elementene. Hvis De endrer utsnittet, påvirker det ikke originalen.

using System;

int[] original = { 1, 2, 3, 4 };
int[] slice = original[0..2];
slice[0] = 99;
Console.WriteLine(original[0]); // 1 (unchanged)
Console.WriteLine(slice[0]);    // 99

Delsstrenger med Range

string-indeksereren støtter Range, slik at De kan hente delstrenger uten å kalle Substring med forskyvninger og lengder.

using System;

string text = "Hello, World";
string hello = text[0..5];
Console.WriteLine(hello); // Hello

Strengutsnitt fra slutten

Kombiner områder med ^ for å hente slutten av en streng, for eksempel en filendelse.

using System;

string file = "report.csv";
string ext = file[^3..];
Console.WriteLine(ext); // csv

Ett tegn med Index

Indeksering av en streng med én enkelt Index returnerer ett char. Bruk ^1 for det siste tegnet.

using System;

string s = "Coddy";
char last = s[^1];
Console.WriteLine(last); // y

Fjerne det første eller siste elementet

Områder uten én grense gjør det enkelt å fjerne ett element: ..^1 fjerner det siste, og 1.. fjerner det første.

using System;

string quoted = "[value]";
string inner = quoted[1..^1];
Console.WriteLine(inner); // value

Dele en streng i deler

De kan dele tekst ved en kjent posisjon ved hjelp av to utsnitt.

using System;

string code = "2026-05-30";
string year = code[..4];
string month = code[5..7];
string day = code[8..];
Console.WriteLine(year + " / " + month + " / " + day); // 2026 / 05 / 30

Spaner for utsnitt uten kopiering

Hvis De vil lage et utsnitt uten allokering, kan De bruke AsSpan(). Et span-utsnitt er et vindu over det opprinnelige minnet, ikke en kopi.

using System;

ReadOnlySpan<char> span = "Hello, World".AsSpan();
ReadOnlySpan<char> word = span[7..];
Console.WriteLine(word.ToString()); // World

Områder i løkker

De kan iterere direkte over en array med utsnitt ved hjelp av foreach.

using System;

int[] data = { 2, 4, 6, 8, 10 };
foreach (int n in data[1..4])
    Console.Write(n + " "); // 4 6 8
Console.WriteLine();

Grenser kontrolleres

Utsnitt utenfor grensene utløser ArgumentOutOfRangeException, slik at utilsiktet lesing for langt stopper umiddelbart i stedet for å ødelegge data.

using System;

int[] d = { 1, 2, 3 };
try { var _ = d[1..10]; }
catch (ArgumentOutOfRangeException) { Console.WriteLine("slice out of bounds"); }

En praktisk parser

Her er en liten parser som trekker ut et navn og et domene fra en e-postadresse ved hjelp av områder og IndexOf.

using System;

string email = "ada@coddy.dev";
int at = email.IndexOf('@');
string user = email[..at];
string domain = email[(at + 1)..];
Console.WriteLine(user + " | " + domain); // ada | coddy.dev

Hurtigsjekk

Kontroller forståelsen Deres av utsnitt med områder på arrayer og strenger.

Oppsummering

De har lært hvordan områder brukes på arrayer og strenger.

  • array[1..3] returnerer en ny, kopiert array.
  • string[a..b] returnerer en delstreng; én enkelt Index returnerer et char.
  • ..^1 og 1.. fjerner ett element.
  • AsSpan() lager utsnitt uten allokering.
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 «Ranges med matriser og strenger» gratis?

Ja – hele teksten i «Ranges med matriser og strenger» 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 «Ranges med matriser og strenger»?

Ta utsnitt av matriser, spans og delstrenger. 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 3 av 4.

Hvor lang tid tar leksjonen «Ranges med matriser og strenger»?

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. Indekstypen og ^-operatoren
  2. Range-typen og ..-operatoren
  3. Ranges med matriser og strenger
  4. Egendefinerte typer med støtte for ranges
← Tilbake til C# Academy