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
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
- Stringhe e testo: immutabilità, interpolazione, verbatim, StringBuilder e confronto
- StringBuilder, confronto e note sulla cultura
- char, nozioni di base su Unicode, parsing e formattazione semplici