Aceitar entrada do usuário
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, como25ou100. 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.