0Pricing
C# Academy · Lezione

Costruire stringhe

Concatenazione e StringBuilder.

Costruire stringhe è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. 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 4 lezioni in totale.

Unire stringhe con +

Il modo più semplice per creare una stringa consiste nell'unire le parti con l'operatore +.

Questa operazione si chiama concatenazione. È efficace per poche parti, ad esempio per combinare un saluto con un nome.

class Program
{
    static void Main()
    {
        string name = "Sam";
        string greeting = "Hi, " + name;
        System.Console.WriteLine(greeting);
    }
}

Interpolazione di stringhe

L'interpolazione è un modo più chiaro per inserire valori nel testo.

Inserisca una $ prima della stringa e racchiuda le variabili tra parentesi graffe. I valori vengono inseriti automaticamente nella posizione corretta.

class Program
{
    static void Main()
    {
        string name = "Sam";
        int age = 9;
        System.Console.WriteLine($"{name} is {age}");
    }
}

Il costo di += nei cicli

Utilizzare += per far crescere una stringa all'interno di un ciclo è lento.

Poiché le stringhe sono immutabili, ogni operazione += crea una stringa completamente nuova e copia tutti i caratteri precedenti. Dopo molte iterazioni, questo spreca tempo e memoria.

string result = "";
for (int i = 0; i < 1000; i++)
    result += i; // creates many strings

Introduzione a StringBuilder

StringBuilder è progettato per assemblare il testo in modo efficiente.

Si trova nello spazio dei nomi System.Text. Invece di creare una nuova stringa ogni volta, espande un buffer interno, risultando molto più veloce quando si effettuano molte aggiunte.

using System.Text;

StringBuilder sb = new StringBuilder();

Aggiungere testo con StringBuilder

Chiami Append per aggiungere testo a un StringBuilder.

È possibile aggiungere molte parti una dopo l'altra. Il builder conserva tutto nel proprio buffer finché non si richiede la stringa finale.

using System.Text;
class Program
{
    static void Main()
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("Hello");
        sb.Append(", world");
        System.Console.WriteLine(sb.ToString());
    }
}

Ottenere la stringa finale

Un StringBuilder non è di per sé una string.

Al termine delle aggiunte, chiami ToString per ottenere il testo completo. Dopodiché sarà possibile stamparlo o memorizzarlo come una normale stringa.

using System.Text;
StringBuilder sb = new StringBuilder();
sb.Append("Done");
string final = sb.ToString();

Aggiungere testo in un ciclo

È in questo caso che StringBuilder dà il meglio di sé.

Aggiunga testo all'interno di un ciclo: il builder crescerà in modo efficiente, evitando le copie che verrebbero create da +=. Questo programma costruisce una stringa di numeri.

using System.Text;
class Program
{
    static void Main()
    {
        StringBuilder sb = new StringBuilder();
        for (int i = 1; i <= 5; i++)
            sb.Append(i);
        System.Console.WriteLine(sb.ToString());
    }
}

AppendLine

AppendLine funziona come Append, ma aggiunge anche una nuova riga dopo il testo.

È utile per creare un output su più righe, ad esempio un elenco in cui ogni elemento si trova su una riga separata.

using System.Text;
class Program
{
    static void Main()
    {
        StringBuilder sb = new StringBuilder();
        sb.AppendLine("Line 1");
        sb.AppendLine("Line 2");
        System.Console.Write(sb.ToString());
    }
}

Creare una stringa dai caratteri

È possibile aggiungere anche singoli valori char, non solo stringhe intere.

È utile quando si trasforma il testo carattere per carattere, ad esempio convertendo in maiuscolo ogni lettera durante la creazione di un nuovo risultato.

using System.Text;
class Program
{
    static void Main()
    {
        StringBuilder sb = new StringBuilder();
        foreach (char c in "loud")
            sb.Append(char.ToUpper(c));
        System.Console.WriteLine(sb.ToString());
    }
}

Quando usare ciascun approccio

Per poche parti, + o l'interpolazione sono soluzioni chiare e adeguate.

Per creare testo all'interno di un ciclo o unire molte parti, preferisca StringBuilder. La regola generale è: per poche concatenazioni utilizzi gli operatori, per molte concatenazioni utilizzi un builder.

string.Join

Quando si dispone già di una raccolta di parti, string.Join le combina utilizzando un separatore.

Passi prima il separatore e poi gli elementi. È un'alternativa concisa all'iterazione per gli elenchi semplici.

string[] parts = { "a", "b", "c" };
string joined = string.Join("-", parts);
// joined is "a-b-c"

Verifica rapida

Verifichi la Sua comprensione della creazione di stringhe.

Riepilogo

Utilizzi + o l'interpolazione per unire poche stringhe e string.Join per un elenco di parti.

Per creare testo all'interno di cicli, scelga StringBuilder: chiami Append o AppendLine, quindi ToString per ottenere il risultato. Evita le costose copie create da +=, perché le stringhe sono immutabili.

Domande Frequenti

La lezione «Costruire stringhe» è gratuita?

Sì — il testo completo di «Costruire stringhe» è 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 4 lezioni in totale.

Cosa imparerò in «Costruire stringhe»?

Concatenazione e StringBuilder. 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 4 di 4.

Quanto tempo richiede la lezione «Costruire stringhe»?

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. Il tipo char
  2. Metodi di supporto per char
  3. Iterare sulle stringhe
  4. Costruire stringhe
← Torna a C# Academy