C# Academy · Lektion

Ranges med arrays og strenge

Udvælg udsnit af arrays, spans og delstrenge.

Lektion 3 af 413 trin

Ranges med arrays og strenge er en gratis C# Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i C# Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. C# Academy-kurset indeholder 4 lektioner i alt.

Udsnit af arrays

Den mest almindelige anvendelse af intervaller er at tage udsnit af arrays. array[1..3] returnerer et nyt array med de valgte elementer.

using System;

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

Udsnit af arrays er kopier

For arrays allokerer et udsnit et nyt array og kopierer elementerne. Hvis du ændrer udsnittet, 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

Delstrenge med Range

Indekseringen af string understøtter Range, så du kan få delstrenge uden at kalde Substring med forskydninger og længder.

using System;

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

Strengudsnit fra slutningen

Kombinér intervaller med ^ for at hente slutningen af en streng, f.eks. et filtypenavn.

using System;

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

Et enkelt tegn med Index

Indeksering af en streng med et enkelt Index returnerer ét char. Brug ^1 til det sidste tegn.

using System;

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

Fjern det første eller sidste element

Intervaller uden slutning eller start gør det enkelt at fjerne ét element: ..^1 fjerner det sidste, og 1.. fjerner det første.

using System;

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

Opdel en streng i dele

Du kan opdele tekst ved en kendt position ved hjælp af to intervaludsnit.

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

Spans til udsnit uden kopiering

Hvis du vil have et udsnit uden at allokere, skal du bruge AsSpan(). Et udsnit af en span er et vindue over den oprindelige hukommelse, ikke en kopi.

using System;

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

Intervaller i løkker

Du kan gennemløbe et udsnit af et array direkte med 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();

Grænser kontrolleres

Udsnit uden for intervallet udløser ArgumentOutOfRangeException, så utilsigtet læsning uden for grænserne stopper straks i stedet for at beskadige 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 lille parser, der udtrækker et navn og et domæne fra en e-mail ved hjælp af intervaller 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

Hurtig test

Test din forståelse af intervaludsnit i arrays og strenge.

Opsummering

Du har lært, hvordan intervaller fungerer med arrays og strenge.

  • array[1..3] returnerer et nyt, kopieret array.
  • string[a..b] returnerer en delstreng, mens et enkelt Index returnerer et char.
  • ..^1 og 1.. fjerner ét element.
  • AsSpan() tager udsnit uden at allokere.
Gratis at komme i gang

Lær C# med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
93
Lektioner
346

Ofte stillede spørgsmål

Er lektionen “Ranges med arrays og strenge” gratis?

Ja — hele teksten til “Ranges med arrays og strenge” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af C# Academy-kurset, skal du opgradere til CoddyKit PRO. C# Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Ranges med arrays og strenge”?

Udvælg udsnit af arrays, spans og delstrenge. Du øver dig i C# Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på C# Academy?

Der kræves ingen tidligere erfaring. C# Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Ranges med arrays og strenge”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne C# Academy-lektion?

Ja. Alle C# Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Typen Index og operatoren ^
  2. Typen Range og operatoren ..
  3. Ranges med arrays og strenge
  4. Brugerdefinerede typer med range-understøttelse
← Tilbage til C# Academy