Best for .NET and Unity paths
This free, interactive C# course covers variables, data types, control flow, loops, functions, classes, inheritance, interfaces, LINQ, async/await, error handling, and .NET patterns — all by compiling and running real C# code in your browser.
Who this is for
Aspiring game developers (Unity), .NET web developers, Windows application developers, and developers building on the Microsoft stack.
What you'll build
Start here
Write your first C# program, understand the class structure, and get comfortable with Console.WriteLine.
Full curriculum
Write your first C# program, understand the class structure, and get comfortable with Console.WriteLine.
Learn value types, reference types, constants, type conversion, and nullability in C#.
Declare variables with var and explicit types, use const and readonly, and understand C# type inference.
Integers, floats, booleans, chars, and type conversions in C#.
Master Console output, string interpolation, composite formatting, and format specifiers in C#.
String creation, interpolation, formatting, and common string methods in C#.
if/else, switch expressions, ternary operator, and short-circuit evaluation.
for, while, do-while, foreach — all the ways to repeat code in C#.
Dictionary<K,V>, HashSet<T>, iteration, and common collection patterns in C#.
Define and call static methods, use parameters and return values, and understand method overloading.
Single and multi-dimensional arrays, iterating, sorting, and Array class methods.
Static methods, parameters, return types, overloads, optional/named args, and expression bodies in C#.
List<T>, Dictionary<K,V>, HashSet<T> — C#'s generic collections.
Fields, auto-properties, computed properties, init-only setters, and value vs reference semantics in C#.
Define classes, create objects, write constructors, and understand instance methods.
Defining classes, constructors, access modifiers, inheritance, and structs in C#.
Auto-properties, get/set, computed properties, and init-only properties.
Base classes, derived classes, virtual/override methods, abstract classes, and sealed.
Exceptions, try/catch/finally, custom exceptions, and the Result pattern in C#.
Define contracts with interface, implement multiple interfaces, and use default interface methods.
Define enumerated types, use Flags enums for bit fields, and parse enums from strings.
Namespaces, using directives, file-scoped namespaces, access modifiers, and NuGet packages in C#.
async/await, Task, Task<T>, parallel execution, cancellation, and thread safety in C#.
try/catch/finally, throwing exceptions, custom exceptions, and when to use exceptions.
Generic classes, methods, constraints, and covariance/contravariance.
Query collections with LINQ: Where, Select, OrderBy, GroupBy, First, Aggregate.
Write asynchronous code with async/await, Task, Task<T>, and understand the threading model.
Serialize and deserialize JSON with System.Text.Json, custom converters, and JsonNode in C#.
Nullable value types, nullable reference types, null-safety operators, and best practices.
switch expressions, type patterns, property patterns, positional patterns, and guard clauses in C#.
switch expressions, type patterns, property patterns, list patterns, and deconstruction.
record types, value equality, non-destructive mutation with with, and positional records.
Delegates as type-safe function pointers, Func and Action, events, and lambdas.
Read and write files with System.IO, work with paths, and stream large files.
Unit testing with xUnit, assertions, test organisation, and mocking basics.
Make HTTP requests with HttpClient, parse JSON responses, and handle HTTP errors.
C# is Microsoft's flagship language, powering .NET web apps, Unity game development, desktop applications, and cloud services on Azure. Companies like Microsoft, Stack Overflow, and thousands of game studios use C#. Its modern features — LINQ, async/await, pattern matching — make it productive and enjoyable to write.
This free, interactive C# course covers variables, data types, control flow, loops, functions, classes, inheritance, interfaces, LINQ, async/await, error handling, and .NET patterns — all by compiling and running real C# code in your browser.
36 topics · 255 hands-on lessons · all levels
Aspiring game developers (Unity), .NET web developers, Windows application developers, and developers building on the Microsoft stack.