0
0
CsharpHow-ToBeginner · 3 min read

How to Take Input from User in C# - Simple Guide

In C#, you can take input from the user using Console.ReadLine(), which reads a line of text from the console. To use the input, store it in a variable, and convert it to the needed type if necessary.
📐

Syntax

The basic syntax to take input from the user in C# is using Console.ReadLine(). This method reads a line of text from the console as a string.

  • string input = Console.ReadLine(); reads user input and stores it as a string.
  • If you need a number, convert the string using methods like int.Parse() or Convert.ToInt32().
csharp
string input = Console.ReadLine();
💻

Example

This example asks the user to enter their name and age, then prints a greeting message using the input values.

csharp
using System;

class Program
{
    static void Main()
    {
        Console.Write("Enter your name: ");
        string name = Console.ReadLine();

        Console.Write("Enter your age: ");
        string ageInput = Console.ReadLine();
        int age = int.Parse(ageInput); // Convert string to int

        Console.WriteLine($"Hello, {name}! You are {age} years old.");
    }
}
Output
Enter your name: John Enter your age: 30 Hello, John! You are 30 years old.
⚠️

Common Pitfalls

Common mistakes when taking input in C# include:

  • Not converting the input string to the correct type before using it as a number.
  • Using int.Parse() without handling invalid input, which causes errors if the user types non-numeric text.
  • Forgetting to prompt the user, which can confuse them.

Always validate or handle exceptions when converting input.

csharp
/* Wrong way: No conversion, using string as int (causes error) */
string age = Console.ReadLine();
int ageNumber = int.Parse(age); // Corrected: convert string to int using int.Parse

/* Right way: Convert string to int safely */
string ageInput = Console.ReadLine();
int ageNumber = int.Parse(ageInput); // Throws exception if input is invalid

/* Better way: Use TryParse to avoid exceptions */
if (int.TryParse(ageInput, out int ageNumberSafe))
{
    // Use ageNumberSafe safely
}
else
{
    Console.WriteLine("Invalid number entered.");
}
📊

Quick Reference

Summary tips for taking input in C#:

  • Use Console.ReadLine() to read input as a string.
  • Convert input to needed types with int.Parse(), double.Parse(), or safer TryParse().
  • Always prompt the user before reading input.
  • Handle invalid input to avoid runtime errors.

Key Takeaways

Use Console.ReadLine() to read user input as a string in C#.
Convert input strings to numbers using int.Parse() or int.TryParse() for safety.
Always prompt the user before reading input to guide them.
Handle invalid input to prevent program crashes.
Store input in variables to use it later in your program.