Primeiros passos em C#: Dominando entrada e saída de dados

Código C# no notebook e console mostrando entrada com Console.ReadLine e saída com Console.WriteLine

Resumo rápido

  • Entenda o fluxo básico de dados em aplicações de console.
  • Aprenda a diferença entre exibir informações e capturar entradas do teclado.
  • Domine a conversão de tipos para evitar erros comuns de execução.
  • Construa um programa funcional que interage com o usuário passo a passo.

Toda vez que a gente começa a estudar uma linguagem de programação, a primeira barreira é entender como conversar com o computador. No C#, a classe Console é a nossa principal aliada para fazer essa ponte, permitindo que a gente exiba resultados e peça dados para quem está usando o nosso programa.

Neste post, vamos explorar como dominar a entrada e saída de dados, ou simplesmente I/O (Input/Output), para que você consiga criar ferramentas simples, porém funcionais, que respondem às interações do usuário.

O conceito de entrada e saída (I/O)

A entrada e saída de dados representa o fluxo de informação entre o mundo externo e o processamento interno do programa. Imagine o programa como uma cozinha: a entrada é o pedido que chega, e a saída é o prato pronto que sai para a mesa.

No C#, o console é a nossa interface padrão. Quando enviamos dados para ele, usamos comandos de saída. Quando esperamos o usuário digitar algo, usamos comandos de entrada. É um ciclo simples: pedir, processar e responder.

Tabela de referência: Comandos básicos do Console

Para facilitar sua vida durante a escrita do código, aqui estão os métodos fundamentais que vamos utilizar o tempo todo. Salve essa referência para consultar sempre que tiver dúvidas.

ComandoO que fazExemplo
Console.WriteLine()Escreve o texto e pula linhaConsole.WriteLine("Oi");
Console.Write()Escreve o texto sem pular linhaConsole.Write("Nome: ");
Console.ReadLine()Aguarda o usuário digitar um textostring nome = Console.ReadLine();

Escrevendo na tela: Console.WriteLine em detalhes

O Console.WriteLine é o método mais comum para mostrar mensagens ao usuário. Sempre que o computador termina de imprimir o texto passado entre parênteses, ele pula para a linha seguinte automaticamente.

Uma técnica valiosa é a concatenação ou o uso de interpolação de strings. Quando queremos incluir variáveis no texto, basta colocar um cifrão ($) antes das aspas e usar chaves {} para inserir o valor da variável ali dentro.

csharp

string nome = "Alice";
Console.WriteLine($"Olá, {nome}! Bem-vinda ao curso.");

Capturando dados: O desafio do Console.ReadLine

O Console.ReadLine sempre captura o que o usuário digita como um texto (string). Isso significa que, se você precisar de um número para fazer contas, não basta capturar o valor; é preciso convertê-lo.

Para transformar uma string em um número inteiro, usamos o comando int.Parse() ou Convert.ToInt32(). Se o usuário digitar algo que não seja um número, o programa vai parar com um erro. Por isso, a conversão é o passo mais importante no tratamento de entradas.

csharp

Console.Write("Digite sua idade: ");
string entrada = Console.ReadLine();
int idade = int.Parse(entrada);

Exemplo prático: Criando seu primeiro programa de interação

Vamos montar uma calculadora simples que soma dois números. O segredo é ler as entradas, converter cada uma e depois exibir o resultado da operação aritmética.

csharp

Console.WriteLine("--- Calculadora de Soma ---");
Console.Write("Digite o primeiro número: ");
int n1 = int.Parse(Console.ReadLine());
Console.Write("Digite o segundo número: ");
int n2 = int.Parse(Console.ReadLine());
int soma = n1 + n2;
Console.WriteLine($"A soma de {n1} e {n2} é igual a {soma}.");

Erros comuns e como evitá-los

O erro mais comum é o FormatException, que acontece quando o usuário digita uma letra onde o programa esperava um número. Como o int.Parse não consegue converter a palavra "abc" em um inteiro, o programa trava.

Para evitar isso no futuro, a gente sempre deve validar se a entrada é válida antes de processar, mas por enquanto, lembre-se: sempre teste seu código com entradas que façam sentido e, eventualmente, com entradas que causem o erro, para aprender a identificar o problema no terminal.

Sempre verifique se esqueceu o ponto e vírgula ao final das instruções, o erro de sintaxe mais clássico em C#.

Exercícios para praticar

  1. Faça um programa que leia o nome e a cidade do usuário e exiba: 'Olá [Nome], você mora em [Cidade]'.

    Ver resposta

    Passo 1: Ler o nome com Console.ReadLine(). Passo 2: Ler a cidade da mesma forma. Passo 3: Exibir com interpolação: Console.WriteLine($"Olá {nome}, você mora em {cidade}");

  2. Crie um programa que leia dois números inteiros e exiba a subtração deles.

    Ver resposta

    Passo 1: Capturar as duas entradas como string. Passo 2: Converter ambas com int.Parse(). Passo 3: Criar variável int subtracao = n1 - n2;. Passo 4: Exibir o resultado.

  3. O que acontece se você tentar converter uma string vazia com int.Parse()?

    Ver resposta

    O programa dispara um FormatException. Como não existe um valor numérico para ser interpretado ali, o sistema de conversão não consegue realizar a operação e encerra a execução por segurança.

  4. Qual a diferença entre Console.Write e Console.WriteLine?

    Ver resposta

    O Write mantém o cursor na mesma linha após a impressão do texto. O WriteLine imprime e move o cursor para a linha abaixo, servindo como uma quebra de linha automática.

Perguntas frequentes

Por que o ReadLine lê apenas texto?

Porque o console, por padrão, interage com o teclado e o teclado envia caracteres (texto). A conversão para outros tipos de dados é uma responsabilidade do programador.

Posso ler números decimais (com vírgula)?

Sim, mas você deve usar 'double.Parse()' no lugar de 'int.Parse()' para suportar valores como 10.5.

Como faço para o programa não fechar imediatamente?

Você pode adicionar um 'Console.ReadKey();' ao final do seu código para que ele espere o usuário pressionar qualquer tecla antes de encerrar.

Conclusão

Dominar essas ferramentas básicas é o primeiro passo para criar qualquer software complexo. Agora que você já sabe como capturar o que o usuário digita e exibir suas respostas, experimente criar pequenas variações desses programas. A prática constante é o que vai te tornar um desenvolvedor cada vez mais seguro com a sintaxe do C#.

Atualizado em 25/09/2026.

Curtiu desvendar esse universo? Conta pra gente nos comentários o que mais você quer aprender sobre redes e compartilhe com seus amigos que estão começando na TI!

Comentários

Postagens mais visitadas deste blog

Endereço MAC: Desvendando a Identidade Única de Seus Aparelhos

Dominando Redes: Como Calcular Máscaras e Hosts na Prática

Topologias de Rede: Conheça os Tipos Essenciais