C# Tutorial
Learn C# step by step through 87 structured lessons. The course starts with essential concepts and progresses toward practical, advanced topics, with explanations, syntax, examples, common mistakes and exercises you can try yourself.
- Level: Beginner to advanced
- Format: 87 free, self-paced lessons
- Best for: Students, career changers and developers refreshing their skills
What You Will Learn
This learning path covers the following areas in curriculum order:
- C# Tutorial
- C# Fundamentals
- C# Strings & I/O
- C# Control Flow
- C# Arrays & Collections
- C# Methods
- C# OOP
- C# Structs & Records
- C# Exceptions & Debugging
- C# Generics & Delegates
- C# LINQ
- C# Nullable & Modern Features
- C# Async Programming
- C# Data Structures & Algorithms
- C# Reference
Who This Course Is For
This tutorial is suitable for complete beginners as well as learners who already know some programming and want a structured reference. Start from the first lesson if the subject is new to you. Experienced learners can use the curriculum below to jump directly to a specific concept.
How to Use This Tutorial
- Read each lesson in curriculum order and run every example yourself.
- Change the examples to test your understanding instead of only copying them.
- Complete the exercises and review the common-mistake sections before moving on.
- Bookmark this course page so you can return to the complete lesson index.
Course Contents
C# Tutorial
C# Fundamentals
- C# Variables
- C# Data Types
- C# Type Conversion
- C# Operators
- C# Booleans
- C# Constants
- C# Nullable Value Types
C# Strings & I/O
C# Control Flow
- C# If Else
- C# Switch
- C# Switch Expressions & Pattern Matching
- C# While Loop
- C# For Loop
- C# foreach Loop
- C# Break Continue
C# Arrays & Collections
C# Methods
- C# Methods
- C# Method Parameters
- C# Method Overloading
- C# Optional Parameters
- C# params Keyword
- C# Recursion
C# OOP
- C# OOP Introduction
- C# Classes Objects
- C# Properties
- C# Constructors
- C# The this Keyword
- C# Access Modifiers
- C# Encapsulation
- C# Inheritance
- C# Polymorphism
- C# Method Overriding
- C# Abstract Classes
- C# Interfaces
- C# Static Members
- C# sealed Classes
C# Structs & Records
C# Exceptions & Debugging
C# Generics & Delegates
- C# Generics
- C# Generic Constraints
- C# Delegates
- C# Events
- C# Func, Action, and Predicate
- C# Lambda Expressions
C# LINQ
- C# LINQ Query Syntax
- C# LINQ Method Syntax
- C# LINQ Filtering and Projection
- C# LINQ Aggregation
- C# LINQ Ordering and Grouping
C# Nullable & Modern Features
- C# Nullable Reference Types
- C# Null-Coalescing Operators (?? and ??=)
- C# Pattern Matching
- C# Tuples
- C# Deconstruction
C# Async Programming
- C# async/await
- C# Task-Based Asynchronous Programming
- C# Async Streams (IAsyncEnumerable)
- C# CancellationToken
C# Data Structures & Algorithms
C# Reference
Frequently Asked Questions
Is this C# tutorial free?
Yes. The lessons listed on this page are free to read and can be completed at your own pace.
Do I need previous experience?
No previous experience is required for the introductory lessons. Some advanced modules are easier if you first complete the fundamentals in this course.
How should I practise?
Type and run the examples, deliberately change their inputs, predict the result before execution and build a small project after completing each major section.
