C# Academy · Oppitunti

StringBuilder, vertailu ja kulttuuriasetuksia koskevat huomautukset

Muodostakaa suuria tekstimääriä tehokkaasti StringBuilderilla ja vertailkaa merkkijonoja turvallisesti StringComparisonin ja kulttuuritietoisten API:en avulla.

Oppitunti 2/38 vaihetta

StringBuilder, vertailu ja kulttuuriasetuksia koskevat huomautukset on ilmainen C# Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/3. 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ä 3 oppituntia.

Yleiskatsaus

Tavoite: Muodosta suuria merkkijonoja tehokkaasti ja vertaa tekstiä oikein.

  • StringBuilder useisiin lisäyksiin
  • Ordinal- ja Culture-vertailu
  • Kirjainkoosta riippumattomat tarkistukset

StringBuilderin perusteet

Käytä StringBuilder-luokkaa silmukoissa tehtäviin yhdistämisiin varausten vähentämiseksi.

using System;
using System.Text;

public class Program
{
  public static void Main(string[] args)
  {
    // Build a small CSV with many appends
    StringBuilder sb = new StringBuilder();
    sb.Append("id,name").AppendLine();
    for (int i = 1; i <= 3; i = i + 1)
    {
      sb.Append(i).Append(",Item ").Append(i).AppendLine();
    }
    string csv = sb.ToString();
    Console.WriteLine(csv);
  }
}

StringBuilder vai +

Ohje:

  • Käytä "a" + b + c -muotoa muutaman osan yhdistämiseen.
  • Käytä StringBuilder-luokkaa silmukoissa tai kun lisäyksiä on paljon.
  • Käytä samaa builder-oliota uudelleen silmukan sisällä.

Kirjainkoosta riippumaton tarkistus

Suosi tunnisteissa, kuten tiedostonimissä ja avaimissa, OrdinalIgnoreCase-vertailua kulttuurisidonnaisten yllätysten välttämiseksi.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string a = "file";
    string b = "FILE";

    bool ordEq = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
    bool ord   = string.Equals(a, b, StringComparison.Ordinal);

    Console.WriteLine("OrdinalIgnoreCase: " + ordEq); // true
    Console.WriteLine("Ordinal (case-sensitive): " + ord); // false
  }
}

Kulttuuriesimerkki

Kulttuuri vaikuttaa tuloksiin, esimerkiksi turkkilaiseen I-kirjaimeen. Ilmaise valinta selkeästi: käytä InvariantCulture-arvoa tiedoille ja tunnisteille ja käyttäjän kulttuuria käyttöliittymässä.

using System;
using System.Globalization;

public class Program
{
  public static void Main(string[] args)
  {
    string lowerI = "i";

    // Culture-sensitive uppercasing
    string trUpper = lowerI.ToUpper(new CultureInfo("tr-TR"));
    string invUpper = lowerI.ToUpper(CultureInfo.InvariantCulture);

    Console.WriteLine("tr-TR upper(i) = " + trUpper);   // "İ"
    Console.WriteLine("Invariant upper(i) = " + invUpper); // "I"
  }
}

Vinkkejä ja valintoja

Vinkkejä:

  • Välimuistita StringBuilder silmukan sisällä ja kutsu .ToString()-metodia kerran lopussa.
  • Valitse avaimille, tunnisteille ja tiedostonimille OrdinalIgnoreCase.
  • Valitse käyttäjälle näkyvälle tekstille CurrentCulture.

Vertailun oletusvalinta

Pikatarkistus: Mikä vertailu on yleensä turvallisin oletus kirjainkoosta riippumattomaan tiedostonimen tarkistukseen?

Kertaus

Kertaus: Käytä StringBuilder-luokkaa useisiin lisäyksiin; valitse tunnisteille OrdinalIgnoreCase; käytä käyttöliittymän tekstiin kulttuuritietoisia ohjelmointirajapintoja.

Aloita maksutta

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 ”StringBuilder, vertailu ja kulttuuriasetuksia koskevat huomautukset” ilmainen?

Kyllä – oppitunnin ”StringBuilder, vertailu ja kulttuuriasetuksia koskevat huomautukset” 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ä 3 oppituntia.

Mitä opin oppitunnilla ”StringBuilder, vertailu ja kulttuuriasetuksia koskevat huomautukset”?

Muodostakaa suuria tekstimääriä tehokkaasti StringBuilderilla ja vertailkaa merkkijonoja turvallisesti StringComparisonin ja kulttuuritietoisten API:en avulla. 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 2/3.

Kuinka kauan ”StringBuilder, vertailu ja kulttuuriasetuksia koskevat huomautukset”-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

  1. Merkkijonot ja teksti: muuttumattomuus, interpolointi, verbatim, StringBuilder ja vertailu
  2. StringBuilder, vertailu ja kulttuuriasetuksia koskevat huomautukset
  3. char, Unicoden perusteet ja yksinkertainen jäsentäminen ja muotoilu
← Takaisin: C# Academy