Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Saída de dados
  2. Saída formatada
  3. Entrada de dados

Para a exibição de informações na saída padrão, C# fornece os métodos Write e WriteLine que pertencem a classe Console e namespace System. Ambos métodos possuem características semelhamentes e serão vistos de forma básica.

A linguagem C# é utilizada para desenvolver aplicações Desktop(GUI), Web e Mobile. Essas têm a suas formas de entrada e saída de dados que não serão abordadas nesse tutorial C#, ficando destinado a seus futuros tutoriais.

Os tópicos listados acima para estudo são referentes a aplicações Console ou linha de comando podendo não ser válidos para outro tipo de aplicação.

A formatação de dados pode ser vista em sua seção específica C#: Formatação de dados em que assuntos como interpolação, alinhamento e outros podem ser conferidos.

A saída de dados na linguagem C#, para exibição básica de informações para os usuários de nossos programas na saída padrão, é feita com a ajuda da classe Console e seus métodos abaixo:

Sintaxe
Console.WriteLine(valor);

Console.Write(valor);

O método Write exibe informações sem quebra de linha, enquanto WriteLine exibe uma quebra de linha após a exibição de valor. Ambos métodos aceitam formatação com uso de caracteres de escape, placeholder(interpolação) e concatenação de string.

Exemplo 1
using System;
public class Program
{
	public static void Main()
	{
		Console.WriteLine("string");
		Console.WriteLine(true);
		Console.WriteLine('Z');
		Console.WriteLine(1.99);
		int a = 100;
		Console.WriteLine(a);
	}
}
Saída
string
True
Z
1.99
100

Para a exibição de informações na mesma linha, utilizamos o método Write como pode ser visto no exemplo abaixo:

Exemplo 2
using System;
public class Program
{
	public static void Main()
	{
		Console.Write("string");
		Console.Write(" ");
		Console.Write(true);
		Console.Write(" ");
		Console.Write('Z');
		Console.Write(" ");
		Console.Write(1.99);
	}
}
Saída
string True Z 1.99

Uma forma de formatar a saída de dados na linguagem C# utilizamos ({}) que recebe um índice do argumento para impressão.

Sintaxe

Console.WriteLine("{0} {1} {2} {N}", arg0, arg1, arg2, argN)
Onde
arg0..N: argumentos para impressão
0..2: indíces dos argumentos

O método WriteLine já identifica o tipagem dos argumentos passados sem a necessidade do uso de identificadores de formatação como os usados em C/C++.

Exemplo 3
using System;
public class Program
{
	public static void Main()
	{
		Console.WriteLine ("var0: {0} var2 {1} var2 {2}","C#", 100, true);
		Console.WriteLine ("var0: {2} var2 {0} var2 {1}","C#", 100, true); //troca de posição
	}
}
Saída
var0: C# var2 100 var2 True
var0: True var2 C# var2 100

De forma semelhante a várias outras linguagens, os métodos Write e WriteLine suportam o uso de caracteres de escape como os mostrados na tabela abaixo:

Tab 1.: Escape
Caracter Descrição
\n Nova Linha
\' Apóstrofe
\" Aspas duplas
\\ Contrabarra
\t Tabulação horizontal
\a Alerta sonoro
\? Interrogação
\v Tabulação vertical
Exemplo 4
using System;
public class Program
{
	public static void Main()
	{
		Console.WriteLine ("var0:\t{0}\nvar2\'{1}\'' var2 {2}","C#", 100, true);
	}
}
Saída
var0:	C#
var2:'100' var2 True

A entrada de dados em C# é feita utilizando os métodos Read e ReadLine. O primeiro lê o próximo caracter digitado na entradão padrão(teclado) e o segundo lê e retorna uma string até que a tecla enter seja pressionada.

Sintaxe
Console.Read()

Console.ReadLine();

Ambos os métodos fazem a conversão do tipo de dado digitado para o tipo de dado esperado. Caso não seja possível um erro IOException será gerado ou lançado.

Exemplo 5
using System;
public class Program
{
	public static void Main()
	{
		int caracter = Console.Read();
		Console.WriteLine(caracter);

		string str = Console.ReadLine();
		Console.WriteLine(str);
	}
}
Entrada
A
Teste
Saída
65
Teste

Após a leitura da string retornada pelo método ReadLine, essa string deve ser convertida de acordo com o formato desejado caso necessário.

Exemplo 6
using System;
public class Program
{
	public static void Main()
	{
		string str = Console.ReadLine();
		float flt = float.Parse(str); //conversão para float
		Console.WriteLine(flt);
	}
}
Entrada
1.99
Saída
1.99

O assunto conversão de dados será visto em C# Básico: Conversão de Dados com mais detalhes onde mais tipos de dados serão abordados.

  1. 05/08/2025 - revisão 2 - Correções pontuais, intro, link 'Saída formatada', links internos e ajuste em sintaxes
  2. 15/10/2024 - revisão 1 - Correção: links portugol e exemplos; Ajustes pontuais
  3. 06/03/2024 - versão inicial