Neste tutorial, aprenderemos como obter a entrada do usuário e exibir a saída em C # usando vários métodos
Saída C #
Para gerar algo em C #, podemos usar
System.Console.WriteLine () OR System.Console.Write ()
Aqui, System
é um espaço de nomes, Console
é uma classe dentro de namespace System
e WriteLine
e Write
são métodos de classe Console
.
Vejamos um exemplo simples que imprime uma string na tela de saída.
Exemplo 1: impressão de string usando WriteLine ()
using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("C# is cool"); ) ) )
Quando executamos o programa, a saída será
C # é legal
Diferença entre os métodos WriteLine () e Write ()
A principal diferença entre WriteLine()
e Write()
é que o Write()
método imprime apenas a string fornecida a ele, enquanto o WriteLine()
método imprime a string e também se move para o início da próxima linha.
Vamos dar uma olhada no exemplo abaixo para entender a diferença entre esses métodos.
Exemplo 2: como usar o método WriteLine () e Write ()?
using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("Prints on "); Console.WriteLine("New line"); Console.Write("Prints on "); Console.Write("Same line"); ) ) )
Quando executamos o programa, a saída será
Imprime na nova linha Imprime na mesma linha
Impressão de variáveis e literais usando WriteLine () e Write ()
O método WriteLine()
e Write()
pode ser usado para imprimir variáveis e literais. Aqui está um exemplo.
Exemplo 3: Impressão de variáveis e literais
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); ) ) )
Quando executamos o programa, a saída será
10 50,05
Combinar (concatenar) duas strings usando o operador + e imprimi-las
Strings podem ser combinados / concatenados usando o +
operador durante a impressão.
Exemplo 4: Impressão de string concatenada usando o operador +
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); ) ) )
Quando executamos o programa, a saída será
Hello World Value = 55
Impressão de string concatenada usando string formatada (melhor alternativa)
Uma alternativa melhor para imprimir string concatenada é usar string formatada. A string formatada permite que o programador use marcadores de posição para variáveis. Por exemplo,
A seguinte linha,
Console.WriteLine ("Valor =" + val);
pode ser substituído por,
Console.WriteLine ("Valor = (0)", val);
(0)
é o espaço reservado para a variável val que será substituída pelo valor de val. Como apenas uma variável é usada, há apenas um espaço reservado.
Várias variáveis podem ser usadas na string formatada. Veremos isso no exemplo abaixo.
Exemplo 5: Impressão de string concatenada usando formatação de string
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int firstNumber = 5, secondNumber = 10, result; result = firstNumber + secondNumber; Console.WriteLine("(0) + (1) = (2)", firstNumber, secondNumber, result); ) ) )
Quando executamos o programa, a saída será
5 + 10 = 15
Aqui, (0)
é substituído por firstNumber, (1)
é substituído por secondNumber e (2)
é substituído por result. Esta abordagem de saída de impressão é mais legível e menos sujeita a erros do que usar o +
operador.
Para saber mais sobre a formatação de strings, visite formatação de strings C #.
Entrada C #
Em C #, o método mais simples de obter a entrada do usuário é usar o ReadLine()
método da Console
classe. No entanto, Read()
e ReadKey()
também estão disponíveis para obter informações do usuário. Eles também estão incluídos nas Console
aulas.
Exemplo 6: obter entrada de string do usuário
using System; namespace Sample ( class Test ( public static void Main(string() args) ( string testString; Console.Write("Enter a string - "); testString = Console.ReadLine(); Console.WriteLine("You entered '(0)'", testString); ) ) )
Quando executamos o programa, a saída será:
Insira uma string - Hello World Você digitou 'Hello World'
Diferença entre os métodos ReadLine (), Read () e ReadKey ():
A diferença entre ReadLine()
, Read()
e ReadKey()
método é:
ReadLine()
: OReadLine()
método lê a próxima linha de entrada do fluxo de entrada padrão. Ele retorna a mesma string.Read()
: ORead()
método lê o próximo caractere do fluxo de entrada padrão. Ele retorna o valor ascii do personagem.ReadKey()
: OReadKey()
método obtém a próxima tecla pressionada pelo usuário. Este método geralmente é usado para segurar a tela até que o usuário pressione uma tecla.
Se você quiser saber mais sobre esses métodos, aqui está uma discussão interessante sobre StackOverflow em: Diferença entre Console.Read () e Console.ReadLine () ?.
Exemplo 7: diferença entre o método Read () e ReadKey ()
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int userInput; Console.WriteLine("Press any key to continue… "); Console.ReadKey(); Console.WriteLine(); Console.Write("Input using Read() - "); userInput = Console.Read(); Console.WriteLine("Ascii Value = (0)",userInput); ) ) )
Quando executamos o programa, a saída será
Pressione qualquer tecla para continuar … x Insira usando Read () - Learning C # Ascii Value = 76
A partir deste exemplo, deve ficar claro como ReadKey()
e o Read()
método funciona. Durante o uso ReadKey()
, assim que a tecla for pressionada, ela será exibida na tela.
Quando Read()
é usado, leva uma linha inteira, mas retorna apenas o valor ASCII do primeiro caractere. Portanto, 76
(valor ASCII de L
) é impresso.
Lendo valores numéricos (tipo inteiro e ponto flutuante)
Ler um caractere ou string é muito simples em C #. Tudo que você precisa fazer é chamar os métodos correspondentes conforme necessário.
Mas, ler valores numéricos pode ser um pouco complicado em C #. Ainda usaremos o mesmo ReadLine()
método que usamos para obter valores de string. Mas, como o ReadLine()
método recebe a entrada como string, ele precisa ser convertido em tipo inteiro ou ponto flutuante.
Uma abordagem simples para converter nossa entrada é usar os métodos de Convert
classe.
Exemplo 8: Lendo valores numéricos do usuário usando a classe Convert
using System; namespace UserInput ( class MyClass ( public static void Main(string() args) ( string userInput; int intVal; double doubleVal; Console.Write("Enter integer value: "); userInput = Console.ReadLine(); /* Converts to integer type */ intVal = Convert.ToInt32(userInput); Console.WriteLine("You entered (0)",intVal); Console.Write("Enter double value: "); userInput = Console.ReadLine(); /* Converts to double type */ doubleVal = Convert.ToDouble(userInput); Console.WriteLine("You entered (0)",doubleVal); ) ) )
Quando executamos o programa, a saída será
Insira o valor inteiro: 101 Você inseriu 101 Insira o valor duplo: 59,412 Você inseriu 59,412
O método ToInt32()
e ToDouble()
da classe Convert converte a entrada da string em tipo inteiro e duplo, respectivamente. Da mesma forma, podemos converter a entrada para outros tipos. Aqui está uma lista completa dos métodos disponíveis para a classe Convert.
Existem outras maneiras de obter entradas numéricas do usuário. Para saber mais, visite Lendo um número inteiro da entrada do usuário.