Aceitar entrada do utilizador
Sugestão
Consulte a guia Texto e imagens para obter mais detalhes!
Os programas tornam-se verdadeiramente poderosos quando conseguem interagir com as pessoas que os utilizam. O método do Console.ReadLine() C# permite-lhe pausar o programa, esperar que o utilizador escreva algo e capturar essa informação.
Usando Console.ReadLine()
Pense no método Console.ReadLine() como uma pergunta orientadora. Quando o seu programa atinge esta linha, espera até que o utilizador escreva a sua resposta e pressione a tecla Enter antes de continuar.
Para guardar a resposta do utilizador, deve "apanhá-la" usando uma variável:
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");
Neste código, favoriteColor é uma variável (um contentor que contém um valor). Quando executas este programa, ele espera por entrada. Se o utilizador escrever Orange e pressionar Enter, a saída é:
Orange
Oh, I love Orange too!
Podes tentar correr este código tu próprio no Editor de Código C#.
Adicione um espaço no final do seu prompt
Para tornar a entrada do utilizador 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!");
Repare no espaço no final do prompt: "What is your favorite color? ". Sem isso, a entrada do utilizador pareceria colada ao seu texto: What is your favorite color?Orange. Adicionar um espaço torna tudo mais claro.
Compreensão dos tipos de dados
Cada valor em C# tem um tipo de dado, que indica ao computador que tipo de valor é. Alguns tipos de dados comuns são:
-
String (
string): Texto envolto em aspas, como"Blue"ou"25". Até um número se torna texto quando está entre aspas. -
Integer (
int): Um número inteiro sem aspas, como25ou100. Podes fazer contas com estes.
Porque é que isso importa? C# trata estes tipos de forma diferente. Podes somar números juntos (25 + 1 igual 26a ), mas não podes adicionar diretamente um número ao texto sem um tratamento especial.
Console.ReadLine() devolve sempre uma string
Uma regra essencial a lembrar é que Console.ReadLine() devolve sempre texto (uma cadeia), mesmo que o utilizador escreva um número. Por exemplo:
string age = Console.ReadLine();
Console.WriteLine(age + 1); // This causes an error!
Se executares este código e escreveres 25, o programa não imprime 26. Em vez disso, tenta acrescentar 1 ao texto "25", o que C# não permite. Este é um erro comum de principiantes!
Para fazer contas com a entrada do utilizador, teria de converter primeiro o texto para um número — mas isso falaremos mais tarde. Por agora, lembrem-se: o que quer que o utilizador escreva é sempre tratado como texto.