C# Console ReadLine: User Input Guide with Examples
In C#, console input allows users to enter data while the program is running. This is essential for creating interactive applications. The most commonly used method for reading user input is:
Console.ReadLine();
It reads input from the keyboard as a string.
1. What is Console.ReadLine()?
Console.ReadLine() is a method that:
• Waits for the user to type something
• Reads the entire line of input
• Returns the input as a string
2. Basic Example
using System;
class Program
{
static void Main()
{
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hello, " + name);
}
}
Output:
Enter your name: John
Hello, John
3. Important Note: Input is Always String
Even if the user enters a number, it is still read as a string.
string input = Console.ReadLine();
So you must convert it if you need another data type.
4. Converting Input to Other Data Types
Using int.Parse()
Console.Write("Enter your age: ");
int age = int.Parse(Console.ReadLine());
Console.WriteLine("Age: " + age);
• This will crash if input is invalid.
Using Convert.ToInt32()
int age = Convert.ToInt32(Console.ReadLine());
Safe Method: TryParse() (Recommended)
Console.Write("Enter a number: ");
string input = Console.ReadLine();
if (int.TryParse(input, out int number))
{
Console.WriteLine("Valid number: " + number);
}
else
{
Console.WriteLine("Invalid input!");
}
5. Reading Multiple Inputs
Console.Write("Enter first number: ");
int num1 = int.Parse(Console.ReadLine());
Console.Write("Enter second number: ");
int num2 = int.Parse(Console.ReadLine());
Console.WriteLine("Sum: " + (num1 + num2));
6. Reading Different Data Types
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.Write("Enter your age: ");
int age = int.Parse(Console.ReadLine());
Console.WriteLine($"Name: {name}, Age: {age}");
7. Input Validation Example (Best Practice)
int number;
while (true)
{
Console.Write("Enter a valid number: ");
string input = Console.ReadLine();
if (int.TryParse(input, out number))
break;
Console.WriteLine("Invalid input, try again.");
}
Console.WriteLine("You entered: " + number);
8. Difference: Read() vs ReadLine()
| Method | Description |
|---|---|
| Read() | Reads a single character (returns ASCII code) |
| ReadLine() | Reads an entire line as a string |
9. Common Mistakes
• Forgetting to convert string to number
• Using Parse() without validation
• Not handling null input
• Assuming user input is always correct
10. Best Practices
• Always validate input using TryParse()
• Provide clear instructions to the user
• Handle invalid input gracefully
• Use loops for repeated input requests
11. Advantages and Disadvantages
Advantages:
• Simple and easy to use
• Essential for interactive programs
• Works in all console applications
Disadvantages:
• Always returns string
• Requires manual validation
• Not suitable for GUI applications