C# First Program
Introduction
Welcome to the exciting world of C# programming! In this tutorial, we'll create your very first C# program - the classic "Hello World" application. This simple program serves as the traditional starting point for learning any programming language and will help you understand the basic structure of C# applications.
By the end of this guide, you'll have written, compiled, and executed your first C# program, and you'll understand each component that makes it work.
Prerequisites
Before we begin, make sure you have:
- .NET SDK installed on your computer
- A code editor (Visual Studio, Visual Studio Code, or any text editor)
Creating Your First C# Program
Step 1: Setting Up Your Project
Let's start by creating a new console application. If you're using Visual Studio, you can:
- Open Visual Studio
- Select "Create a new project"
- Choose "Console App (.NET Core)" or "Console App (.NET)"
- Name your project "HelloWorld"
If you prefer using the command line:
dotnet new console -n HelloWorld
cd HelloWorld
Step 2: Understanding the Generated Code
Open the Program.cs
file. Depending on your .NET version, you'll see one of these two versions:
For .NET 5 and earlier:
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
For .NET 6 and newer:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello World!");
Let's stick with the more explicit first version for better understanding.
Step 3: Analyzing the Code Structure
Let's break down the components of our program:
-
Using Directive:
csharpusing System;
This line tells the compiler that we're using the
System
namespace, which contains fundamental classes likeConsole
. -
Namespace Declaration:
csharpnamespace HelloWorld
{
// Code here
}Namespaces organize code and prevent naming conflicts. Here, our code belongs to the
HelloWorld
namespace. -
Class Declaration:
csharpclass Program
{
// Methods here
}In C#, code is organized into classes.
Program
is the main class of our application. -
Main Method:
csharpstatic void Main(string[] args)
{
// Code to execute
}Every C# console application needs a
Main
method. It's the entry point - the first code that runs when your program starts.static
: The method belongs to the class itself, not to instances of the classvoid
: The method doesn't return any valueMain
: The name of the method (must be spelled exactly like this)string[] args
: Command-line arguments passed to the program
-
Program Logic:
csharpConsole.WriteLine("Hello World!");
This line prints "Hello World!" to the console window.
Console
is a class, andWriteLine
is a method that outputs text followed by a new line.
Step 4: Running Your Program
To run your program:
- In Visual Studio: Press F5 or click "Start Debugging"
- In the command line: Type
dotnet run
Output:
Hello World!
Congratulations! You've just created and run your first C# program.
Modifying Your First Program
Let's make our program a bit more interactive:
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
// Prompt the user for their name
Console.Write("Please enter your name: ");
// Read the user's input
string name = Console.ReadLine();
// Display a personalized greeting
Console.WriteLine($"Hello, {name}! Welcome to the world of C#!");
// Wait for a key press before closing
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
Example Interaction:
Please enter your name: Sarah
Hello, Sarah! Welcome to the world of C#!
Press any key to exit...
Explanation of New Elements:
Console.Write()
: Similar toWriteLine()
but doesn't add a new line after the textConsole.ReadLine()
: Reads a line of text from the consolestring name
: Declares a variable that stores the user's input$"Hello, {name}!"
: String interpolation - a convenient way to insert variable values into stringsConsole.ReadKey()
: Waits for the user to press a key before continuing
Practical Application: Simple Calculator
Let's build a simple calculator to demonstrate how you can create useful programs right from the start:
using System;
namespace SimpleCalculator
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Simple Calculator");
Console.WriteLine("-----------------");
// Get first number
Console.Write("Enter first number: ");
double num1 = Convert.ToDouble(Console.ReadLine());
// Get second number
Console.Write("Enter second number: ");
double num2 = Convert.ToDouble(Console.ReadLine());
// Display results of operations
Console.WriteLine($"{num1} + {num2} = {num1 + num2}");
Console.WriteLine($"{num1} - {num2} = {num1 - num2}");
Console.WriteLine($"{num1} * {num2} = {num1 * num2}");
// Handle division by zero
if (num2 != 0)
{
Console.WriteLine($"{num1} / {num2} = {num1 / num2}");
}
else
{
Console.WriteLine("Cannot divide by zero.");
}
Console.WriteLine("\nPress any key to exit...");
Console.ReadKey();
}
}
}
Example Interaction:
Simple Calculator
-----------------
Enter first number: 10
Enter second number: 5
10 + 5 = 15
10 - 5 = 5
10 * 5 = 50
10 / 5 = 2
Press any key to exit...
This calculator demonstrates several important concepts:
- Getting user input and converting it to appropriate data types
- Performing basic arithmetic operations
- Implementing basic logic with if/else statements
- Formatting output for readability
Common Errors and Troubleshooting
When writing your first C# programs, you might encounter these common issues:
-
Syntax Errors: Missing semicolons, brackets, or typos in keywords
csharpConsole.WriteLine("Hello World") // Missing semicolon
-
Runtime Errors: Issues that occur when the program runs
csharp// This will crash if the user enters non-numeric text
int number = Convert.ToInt32(Console.ReadLine()); -
Logic Errors: The program runs but produces incorrect results
csharp// Intended to add, but using wrong operator
int result = 5 * 10; // Gives 50 instead of 15
Summary
In this tutorial, you've learned:
- How to create a basic C# console application
- The structure and components of a C# program
- How to get input from users and display output
- How to implement a simple interactive calculator
You've taken your first steps into the vast world of C# programming! From this foundation, you can start building more complex and useful applications.
Additional Resources
Practice Exercises
- Modify the Hello World program to ask for the user's age and display how old they will be in 10 years.
- Create a program that converts temperatures between Fahrenheit and Celsius.
- Build a simple quiz program that asks multiple-choice questions and keeps score.
Happy coding!
If you spot any mistakes on this website, please let me know at [email protected]. I’d greatly appreciate your feedback! :)