Ranget taulukoiden ja merkkijonojen kanssa
Ottakaa osia taulukoista, span-arvoista ja alimerkkijonoista.
Ranget taulukoiden ja merkkijonojen kanssa on ilmainen C# Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C# Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C# Academy-kurssilla on yhteensä 4 oppituntia.
Taulukoiden viipalointi
Alueiden yleisin käyttötapa on taulukoiden viipalointi. array[1..3] palauttaa uuden taulukon, joka sisältää valitut alkiot.
using System;
int[] data = { 10, 20, 30, 40, 50 };
int[] middle = data[1..3];
Console.WriteLine(string.Join(",", middle)); // 20,30Taulukkoviipaleet ovat kopioita
Taulukoissa alueviipalointi varaa uuden taulukon ja kopioi alkiot siihen. Viipaleen muokkaaminen ei vaikuta alkuperäiseen taulukkoon.
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]); // 99Alimerkkijonot Rangen avulla
string-indeksoija tukee Range-tyyppiä, joten voit muodostaa alimerkkijonoja kutsumatta Substring-metodia siirtymillä ja pituuksilla.
using System;
string text = "Hello, World";
string hello = text[0..5];
Console.WriteLine(hello); // HelloMerkkijonon lopusta laskettavat viipaleet
Yhdistä alueet ^-operaattoriin poimiaksesi merkkijonon lopun, kuten tiedostotunnisteen.
using System;
string file = "report.csv";
string ext = file[^3..];
Console.WriteLine(ext); // csvYksittäinen merkki Indexillä
Merkkijonon indeksointi yksittäisellä Index-arvolla palauttaa yhden char-arvon. Käytä viimeiseen merkkiin ilmaisua ^1.
using System;
string s = "Coddy";
char last = s[^1];
Console.WriteLine(last); // yEnsimmäisen tai viimeisen poistaminen
Avoimet alueet tekevät yhden alkion poistamisesta helppoa: ..^1 poistaa viimeisen ja 1.. ensimmäisen.
using System;
string quoted = "[value]";
string inner = quoted[1..^1];
Console.WriteLine(inner); // valueMerkkijonon jakaminen osiin
Voit jakaa tekstin tunnetusta sijainnista käyttämällä kahta alueviipaletta.
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 / 30Span-tyypit kopioimattomaan viipalointiin
Jos haluat viipaleen ilman allokointia, käytä metodia AsSpan(). Span-viipale on alkuperäisen muistin päällä oleva näkymä, ei kopio.
using System;
ReadOnlySpan<char> span = "Hello, World".AsSpan();
ReadOnlySpan<char> word = span[7..];
Console.WriteLine(word.ToString()); // WorldAlueet silmukoissa
Voit iteroida viipaloidun taulukon läpi suoraan foreach-silmukalla.
using System;
int[] data = { 2, 4, 6, 8, 10 };
foreach (int n in data[1..4])
Console.Write(n + " "); // 4 6 8
Console.WriteLine();Rajat tarkistetaan
Alueen ulkopuolelle ulottuvat viipaleet aiheuttavat ArgumentOutOfRangeException-poikkeuksen, joten vahingossa tapahtuvat liian pitkät lukemiset pysähtyvät heti eivätkä vioita tietoja.
using System;
int[] d = { 1, 2, 3 };
try { var _ = d[1..10]; }
catch (ArgumentOutOfRangeException) { Console.WriteLine("slice out of bounds"); }Käytännön parseri
Tässä on pieni parseri, joka poimii sähköpostiosoitteesta nimen ja verkkotunnuksen alueiden ja IndexOf-metodin avulla.
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.devPikatarkistus
Testaa, miten hyvin hallitset alueiden käytön taulukoiden ja merkkijonojen viipaloinnissa.
Kertaus
Opit, miten alueita käytetään taulukoissa ja merkkijonoissa.
array[1..3]palauttaa uuden kopioidun taulukon.string[a..b]palauttaa alimerkkijonon; yksittäinenIndexpalauttaachar-arvon...^1ja1..poistavat yhden alkion.AsSpan()muodostaa viipaleen ilman allokointia.
Opi C# tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 93
- Oppitunnit
- 346
Usein kysytyt kysymykset
Onko oppitunti ”Ranget taulukoiden ja merkkijonojen kanssa” ilmainen?
Kyllä – oppitunnin ”Ranget taulukoiden ja merkkijonojen kanssa” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C# Academy-kurssin, päivitä CoddyKit PROhon. C# Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ranget taulukoiden ja merkkijonojen kanssa”?
Ottakaa osia taulukoista, span-arvoista ja alimerkkijonoista. Harjoittelet C# Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni C# Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin C# Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Ranget taulukoiden ja merkkijonojen kanssa”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä C# Academy-oppitunnilla?
Kyllä. Jokainen C# Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Index-tyyppi ja ^-operaattori
- Range-tyyppi ja ..-operaattori
- Ranget taulukoiden ja merkkijonojen kanssa
- Ranget tukevat mukautetut tyypit