Oii, tudo bem?
O que o Console.ReadLine() faz:
O comando Console.ReadLine() pausa a execução do programa e espera que o usuário digite alguma coisa no console. Assim que o usuário pressiona a tecla Enter, o valor digitado é retornado como uma string.
Ou seja, sempre que o programa encontra essa linha, ele "aguarda" a interação do usuário.
Exemplo simples:
Console.Write("Digite seu nome: ");
string nome = Console.ReadLine();
Console.WriteLine("Olá, " + nome);
Aqui, o programa só continua depois que o usuário digitar algo e apertar Enter.
Diferença entre Console.Write e Console.WriteLine
Console.Write("Mensagem") escreve no console sem quebrar a linha. O cursor fica na mesma linha, bom para pedir informações.Console.WriteLine("Mensagem") escreve e já pula para a próxima linha.
No seu caso:
Console.Write("Digite sua nota: ");
string nota = Console.ReadLine();
int notaMedia = int.Parse(nota);
- O programa exibe a mensagem:
Digite sua nota: - Espera o usuário digitar um valor (exemplo:
8) e apertar Enter. - O valor digitado (
"8") é armazenado em nota. - O
int.Parse converte essa string "8" para o número inteiro 8.
Então:
- Sim, sempre que você usa
Console.ReadLine(), o programa vai esperar a entrada do usuário. - Você não precisa "chamar" de novo, basta colocar o comando onde deseja que a interação aconteça.
- A mensagem que você escreve antes (com
Console.Write ou Console.WriteLine) é só para orientar o usuário sobre o que ele deve digitar.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!