Aceitar entrada do usuário

Concluído(a)

Dica

Consulte a guia Texto e imagens para obter mais detalhes!

Os programas se tornam realmente poderosos quando podem interagir com as pessoas que os usam. O método do Console.ReadLine() C#permite pausar seu programa, aguardar o usuário digitar algo e capturar essas informações.

Usando Console.ReadLine()

Pense no método Console.ReadLine() como uma pergunta orientadora. Quando o programa atinge essa linha, ele aguarda até que o usuário digite sua resposta e pressione a tecla Enter antes de continuar.

Para salvar a resposta do usuário, você deve "pegá-la" usando uma variável:

string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");

Nesse código, favoriteColor há uma variável (um contêiner que contém um valor). Quando você executa este programa, ele aguarda a entrada. Se o usuário digitar Orange e pressionar Enter, a saída será:

Orange
Oh, I love Orange too!

Você pode tentar executar esse código por conta própria no Editor de Código em C#.

Adicionar um espaço no final do prompt

Para tornar a entrada do usuário mais legível, combine Console.Write() com Console.ReadLine():

Console.Write("What is your favorite color? ");
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");

Observe o espaço no final do prompt: "What is your favorite color? ". Sem ele, a entrada do usuário ficaria colada ao texto: What is your favorite color?Orange. Adicionar um espaço torna mais claro.

Noções básicas sobre tipos de dados

Cada valor em C# tem um tipo de dados, que informa ao computador que tipo de valor ele é. Alguns tipos de dados comuns são:

  • Cadeia de caracteres (string): texto encapsulado entre aspas, como "Blue" ou "25". Até mesmo um número se torna texto quando está entre aspas.
  • Inteiro (int): um número inteiro sem aspas, como 25 ou 100. Você pode fazer matemática com estes.

Por que isso importa? O C# trata esses tipos de forma diferente. Você pode adicionar números juntos (25 + 1 iguais 26), mas não pode adicionar diretamente um número ao texto sem tratamento especial.

Console.ReadLine() sempre retorna uma cadeia de caracteres

Uma regra essencial a ser lembrada é que Console.ReadLine()sempre retorna texto (uma cadeia de caracteres), mesmo que o usuário digite um número. Por exemplo:

string age = Console.ReadLine();
Console.WriteLine(age + 1); // This causes an error!

Se você executar esse código e digitar 25, o programa não imprimirá 26. Em vez disso, ele tenta adicionar 1 ao texto "25", o que O C# não permite. Este é um erro comum para iniciantes!

Para fazer matemática com a entrada do usuário, você precisaria converter o texto em um número primeiro, mas abordaremos isso mais tarde. Por enquanto, lembre-se: qualquer que seja o tipo de usuário sempre é tratado como texto.