0Pricing
C# Academy · Lezione

Formattazione composita con string.Format

Utilizzi segnaposto indicizzati e l'allineamento.

Formattazione composita con string.Format è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 2 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.

Formattazione composita

string.Format usa segnaposto numerati come {0} e {1}, che corrispondono agli argomenti successivi.

using System;

class Program {
    static void Main() {
        string msg = string.Format("Hello, {0}!", "Ada");
        Console.WriteLine(msg);
    }
}

Più argomenti

Ogni indice fa riferimento a un argomento in base alla sua posizione. {0} è il primo, {1} il secondo, e così via.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("{0} + {1} = {2}", 2, 3, 5));
    }
}

Riutilizzare un indice

È possibile usare lo stesso indice più volte per ripetere un argomento senza passarlo due volte.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("{0}{0}{0}", "ab"));
    }
}

Specificatore di formato dopo i due punti

Aggiunga i due punti e uno specificatore per controllare la formattazione, ad esempio {0:F2} per ottenere due cifre decimali.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("Pi is {0:F2}", 3.14159));
    }
}

Allineamento con la virgola

Una virgola seguita dalla larghezza imposta l'allineamento: {0,8} allinea a destra su otto caratteri; una larghezza negativa allinea a sinistra.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("[{0,8}]", "hi"));
        Console.WriteLine(string.Format("[{0,-8}]", "hi"));
    }
}

Allineamento e formato insieme

È possibile combinarli entrambi: {0,10:F2} formatta il valore con due cifre decimali e lo allinea a destra su dieci caratteri.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("[{0,10:F2}]", 3.5));
    }
}

Formattazione con Console.WriteLine

Console.WriteLine accetta direttamente la stessa stringa di formato composita e gli stessi argomenti.

using System;

class Program {
    static void Main() {
        Console.WriteLine("{0} scored {1} points", "Sam", 42);
    }
}

Creazione di una tabella

L'allineamento permette di creare facilmente semplici tabelle allineate nell'output della console.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("{0,-10}{1,5}", "Apples", 3));
        Console.WriteLine(string.Format("{0,-10}{1,5}", "Pears", 12));
    }
}

A cosa viene compilata l'interpolazione

Dietro le quinte, le stringhe interpolate vengono spesso compilate nella formattazione composita. Si tratta di due aspetti della stessa funzionalità.

using System;

class Program {
    static void Main() {
        int n = 5;
        Console.WriteLine(string.Format("n = {0}", n));
        Console.WriteLine($"n = {n}");
    }
}

Escape delle parentesi graffe

Come nell'interpolazione, raddoppi una parentesi graffa per stamparla letteralmente in una stringa di formato composita.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("{{0}} shows literally, {0} shows value", 7));
    }
}

Quando scegliere Format

La formattazione composita è utile quando il template viene archiviato separatamente, ad esempio nei file di risorse per la localizzazione.

using System;

class Program {
    static void Main() {
        string template = "Welcome, {0}";
        Console.WriteLine(string.Format(template, "Lee"));
    }
}

Verifica rapida

Verifichi la propria conoscenza della formattazione composita.

Riepilogo

string.Format usa segnaposto indicizzati ({0}, {1}) associati agli argomenti in base alla posizione, che possono essere riutilizzati. I due punti aggiungono specificatori di formato e la virgola imposta la larghezza dell'allineamento.

Questa funzionalità viene usata dalla formattazione di Console.WriteLine ed è alla base dell'interpolazione; è inoltre ideale quando i template risiedono in risorse separate.

Domande Frequenti

La lezione «Formattazione composita con string.Format» è gratuita?

Sì — il testo completo di «Formattazione composita con string.Format» è 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 «Formattazione composita con string.Format»?

Utilizzi segnaposto indicizzati e l'allineamento. 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 4.

Quanto tempo richiede la lezione «Formattazione composita con string.Format»?

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. Nozioni di base sull'interpolazione delle stringhe
  2. Formattazione composita con string.Format
  3. Specificatori di formato numerico e delle date
  4. String literal raw
← Torna a C# Academy