Entrada e saída básicas C #

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 Systeme WriteLinee Writesã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 Consoleclasse. 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 Consoleaulas.

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(): O ReadLine()método lê a próxima linha de entrada do fluxo de entrada padrão. Ele retorna a mesma string.
  • Read(): O Read()método lê o próximo caractere do fluxo de entrada padrão. Ele retorna o valor ascii do personagem.
  • ReadKey(): O ReadKey()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 Convertclasse.

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.

Artigos interessantes...