Entrada e saída básica em C#
Entrada e saída básica em C#
Neste tutorial, aprenderemos como receber entrada do usuário e exibir saída em C# usando vários métodos
Saída C#
Para produzir algo em C#, podemos usar
System.Console.WriteLine() OR System.Console.Write()
Aqui,
System
é um namespace, Console
é uma classe dentro do namespace System
e WriteLine
e Write
são métodos da classe Console
. Vejamos um exemplo simples que imprime uma string na tela de saída.
Exemplo 1:Imprimindo 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# is cool
Diferença entre os métodos WriteLine() e Write()
A principal diferença entre
WriteLine()
e Write()
é que o Write()
imprime apenas a string fornecida a ele, enquanto o WriteLine()
imprime a string e move para o início da próxima linha também. Vamos dar uma olhada no exemplo abaixo para entender a diferença entre esses métodos.
Exemplo 2:Como usar os métodos 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á
Prints on New line Prints on Same line
Impressão de variáveis e literais usando WriteLine() e Write()
O
WriteLine()
e Write()
pode ser usado para imprimir variáveis e literais. Aqui está um exemplo. Exemplo 3:Imprimindo 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
Combinando (Concatenando) duas strings usando o operador + e imprimindo-as
Strings podem ser combinadas/concatenadas usando o
+
operador durante a impressão. Exemplo 4:Imprimindo 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 strings concatenadas é usar strings formatadas. A string formatada permite que o programador use espaços reservados para variáveis. Por exemplo,
A linha a seguir,
Console.WriteLine("Value = " + val);
pode ser substituído por,
Console.WriteLine("Value = {0}", val);
{0}
é o espaço reservado para a variável val que será substituído 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:Imprimindo 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 resultado . Essa abordagem de saída de impressão é mais legível e menos propensa a erros do que usar +
operador. Para saber mais sobre formatação de strings, visite formatação de strings C# .
Entrada C#
Em C#, o método mais simples para obter entrada do usuário é usando o
ReadLine()
método do Console
classe. No entanto, Read()
e ReadKey()
também estão disponíveis para obter entrada do usuário. Eles também estão incluídos em Console
classe. 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);
}
}
}
Ao executarmos o programa, a saída será:
Enter a string - Hello World You entered 'Hello World'
Diferença entre os métodos ReadLine(), Read() e ReadKey():
A diferença entre
ReadLine()
, Read()
e ReadKey()
método é:ReadLine()
:OReadLine()
O método lê a próxima linha de entrada do fluxo de entrada padrão. Ele retorna a mesma string.Read()
:ORead()
O método lê o próximo caractere do fluxo de entrada padrão. Ele retorna o valor ascii do caractere.ReadKey()
:OReadKey()
método obtém a próxima tecla pressionada pelo usuário. Esse 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 sobre:Diferença entre Console.Read() e Console.ReadLine()?.
Exemplo 7:Diferença entre os métodos 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á
Press any key to continue... x Input using Read() - Learning C# Ascii Value = 76
A partir deste exemplo, deve ficar claro como
ReadKey()
e Read()
método funciona. Ao usar 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. Ler valores numéricos (tipos inteiros e de ponto flutuante)
Ler um caractere ou string é muito simples em C#. Tudo o 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()
recebe a entrada como string, ela precisa ser convertida 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á
Enter integer value: 101 You entered 101 Enter double value: 59.412 You entered 59.412
O
ToInt32()
e ToDouble()
O método da classe Convert converte a string de entrada para o tipo inteiro e duplo, respectivamente. Da mesma forma, podemos converter a entrada para outros tipos. Aqui está uma lista completa de 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 inteiro da entrada do usuário.
Linguagem C
- Para a nuvem infinita e além
- Segurança e benefícios importantes do uso da nuvem Linux
- Entrada/saída básica de C++
- C Entrada Saída (E/S)
- Entrada, Saída e Importação do Python
- Entrada e Saída Java Basic
- Caixas de correio:introdução e serviços básicos
- Semáforos:introdução e serviços básicos
- Filas:introdução e serviços básicos
- Sensor de temperatura Python e Raspberry Pi