0Pricing
C# Academy · Lezione

StringBuilder, confronto e note sulla cultura

Costruisca testo di grandi dimensioni in modo efficiente con StringBuilder e confronti le stringhe in sicurezza usando StringComparison e API sensibili alla cultura.

StringBuilder, confronto e note sulla cultura è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 3 lezioni in totale.

Panoramica

Obiettivo: creare stringhe grandi in modo efficiente e confrontare correttamente il testo.

  • StringBuilder per molte aggiunte
  • Confronto ordinale e basato sulla cultura
  • Controlli senza distinzione tra maiuscole e minuscole

Nozioni di base su StringBuilder

Utilizzare StringBuilder per le concatenazioni nei cicli e ridurre le allocazioni.

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 e +

Indicazione generale:

  • Utilizzare "a" + b + c per pochi elementi.
  • Utilizzare StringBuilder nei cicli o per molte aggiunte.
  • Riutilizzare la stessa istanza del builder all'interno del ciclo.

Controllo senza distinzione tra maiuscole e minuscole

Per gli identificatori, ad esempio nomi di file e chiavi, preferire OrdinalIgnoreCase per evitare risultati inattesi dovuti alla cultura.

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
  }
}

Esempio di cultura

La cultura influenza i risultati, ad esempio con la I turca. Specificare esplicitamente: utilizzare InvariantCulture per dati e identificatori; utilizzare la cultura dell'utente per l'interfaccia.

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"
  }
}

Suggerimenti e scelte

Suggerimenti:

  • Memorizzare StringBuilder all'interno del ciclo; chiamare .ToString() una sola volta alla fine.
  • Scegliere OrdinalIgnoreCase per chiavi, ID e nomi di file.
  • Scegliere CurrentCulture per il testo rivolto all'utente.

Impostazione predefinita del confronto

Verifica rapida: per un controllo senza distinzione tra maiuscole e minuscole sul nome di un file, quale confronto è di solito il valore predefinito più sicuro?

Riepilogo

Riepilogo: utilizzare StringBuilder per molte aggiunte; scegliere OrdinalIgnoreCase per gli identificatori; utilizzare API sensibili alla cultura per il testo dell'interfaccia.

Domande Frequenti

La lezione «StringBuilder, confronto e note sulla cultura» è gratuita?

Sì — il testo completo di «StringBuilder, confronto e note sulla cultura» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 3 lezioni in totale.

Cosa imparerò in «StringBuilder, confronto e note sulla cultura»?

Costruisca testo di grandi dimensioni in modo efficiente con StringBuilder e confronti le stringhe in sicurezza usando StringComparison e API sensibili alla cultura. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C# Academy?

Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 3.

Quanto tempo richiede la lezione «StringBuilder, confronto e note sulla cultura»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C# Academy?

Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Stringhe e testo: immutabilità, interpolazione, verbatim, StringBuilder e confronto
  2. StringBuilder, confronto e note sulla cultura
  3. char, nozioni di base su Unicode, parsing e formattazione semplici
← Torna a C# Academy