0Pricing
C# Academy · Aula

Formatação composta com string.Format

Use marcadores indexados e alinhamento.

Formatação composta com string.Format é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 4 aulas no total.

Formatação composta

string.Format usa marcadores numerados, como {0} e {1}, que correspondem aos argumentos fornecidos em seguida.

using System;

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

Vários argumentos

Cada índice se refere a um argumento pela posição. {0} é o primeiro, {1} é o segundo e assim por diante.

using System;

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

Reutilizando um índice

Você pode usar o mesmo índice mais de uma vez para repetir um argumento sem passá-lo duas vezes.

using System;

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

Especificador de formato depois de dois-pontos

Adicione dois-pontos e um especificador para controlar a formatação, como em {0:F2} para duas casas decimais.

using System;

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

Alinhamento com vírgula

Uma vírgula e uma largura definem o alinhamento: {0,8} alinha à direita em oito caracteres; uma largura negativa alinha à esquerda.

using System;

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

Alinhamento e formato juntos

Você pode combinar os dois: {0,10:F2} formata com duas casas decimais e alinha à direita em dez caracteres.

using System;

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

Formatação com Console.WriteLine

Console.WriteLine aceita diretamente a mesma cadeia de caracteres de formato composto e os mesmos argumentos.

using System;

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

Criando uma tabela

O alinhamento facilita a criação de tabelas simples e alinhadas na saída do 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));
    }
}

É nisto que a interpolação é compilada

Nos bastidores, as cadeias de caracteres interpoladas geralmente são compiladas em formatação composta. Elas são duas formas de usar o mesmo recurso.

using System;

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

Escapando chaves

Assim como na interpolação, duplique uma chave para imprimi-la literalmente em uma cadeia de caracteres de formato composto.

using System;

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

Quando escolher Format

A formatação composta é útil quando o modelo é armazenado separadamente, como em arquivos de recursos para localização.

using System;

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

Verificação rápida

Teste seus conhecimentos sobre formatação composta.

Recapitulação

string.Format usa marcadores indexados ({0}, {1}) associados aos argumentos pela posição, que podem ser reutilizados. Dois-pontos adiciona especificadores de formato, e uma vírgula define a largura do alinhamento.

Esse recurso é usado na formatação de Console.WriteLine e fundamenta a interpolação, sendo ideal quando os modelos ficam em recursos separados.

Perguntas Frequentes

A aula “Formatação composta com string.Format” é grátis?

Sim — o texto completo de “Formatação composta com string.Format” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 4 aulas no total.

O que vou aprender em “Formatação composta com string.Format”?

Use marcadores indexados e alinhamento. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Formatação composta com string.Format”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos da interpolação de strings
  2. Formatação composta com string.Format
  3. Especificadores de formato numérico e de data
  4. Literais de string bruta
← Voltar para C# Academy