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
- Fundamentos da interpolação de strings
- Formatação composta com string.Format
- Especificadores de formato numérico e de data
- Literais de string bruta