Ranges med arrays og strenge
Udvælg udsnit af arrays, spans og delstrenge.
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,30Udsnit 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]); // 99Delstrenge 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); // HelloStrengudsnit 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); // csvEt 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); // yFjern 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); // valueOpdel 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 / 30Spans 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()); // WorldIntervaller 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.devHurtig 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 enkeltIndexreturnerer etchar...^1og1..fjerner ét element.AsSpan()tager udsnit uden at allokere.
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
- Typen Index og operatoren ^
- Typen Range og operatoren ..
- Ranges med arrays og strenge
- Brugerdefinerede typer med range-understøttelse