← All Courses
Learn C# logo

Learn C#

Coming Soon

Games, enterprise apps, and web with one language

C# .NET Unity ASP.NET Blazor

Coming Soon

Backend (ASP.NET), desktop (WPF/MAUI), game development (Unity), and web frontend (Blazor) — C# and .NET cover an enormous surface area from a single language ecosystem.

This course builds from language fundamentals through enterprise patterns to shipping games and cross-platform apps.

Start Here — Learning Roadmap

A suggested path from zero to mastery. Follow these steps in order:

  1. Learn C# Fundamentals — Start with variables, types, control flow, classes, and OOP using Microsoft Learn or freeCodeCamp’s C# certification
  2. Build Console Applications — Create small CLI programs to practice file I/O, collections, LINQ, and error handling
  3. Understand .NET Ecosystem — Learn about the .NET runtime, project structure, NuGet packages, and the dotnet CLI
  4. Learn ASP.NET Core — Build web APIs and MVC applications, understand middleware, dependency injection, and routing
  5. Explore Entity Framework Core — Connect to databases with EF Core, learn migrations, LINQ queries, and the repository pattern
  6. Pick a Specialization — Choose game dev (Unity), desktop (MAUI/WPF), web frontend (Blazor), or stay backend-focused
  7. Study Design Patterns — Master dependency injection, CQRS, clean architecture, and domain-driven design in .NET
  8. Write Tests — Learn xUnit/NUnit for unit testing, integration testing with WebApplicationFactory, and mocking
  9. Build Production Apps — Deploy ASP.NET apps to Azure or containers, implement authentication, caching, and logging
  10. Go Advanced — Study async/await internals, Span, source generators, and performance optimization

Official & Core Documentation

  • C# Documentation — Microsoft’s official C# language reference and tutorials (Beginner)
  • .NET Learning Center — Guided learning paths from Microsoft covering C#, ASP.NET, Blazor, and MAUI (Beginner)
  • C# Language Tour — Quick overview of C# syntax, types, and features (Beginner)
  • ASP.NET Core Documentation — Official docs for building web apps, APIs, and microservices with C# (Intermediate)
  • Unity Learn — Official Unity tutorials and courses for game development with C# (Beginner)
  • .NET API Browser — Complete API reference for the entire .NET class library (All levels)
  • Blazor Documentation — Official docs for building interactive web UIs with C# instead of JavaScript (Intermediate)
  • .NET MAUI Documentation — Cross-platform native UI framework for mobile and desktop apps (Intermediate)
  • C# Roadmap — Community-created visual roadmap for C# developers (Beginner)
  • ASP.NET Core Roadmap — Step-by-step guide to becoming an ASP.NET Core developer (Intermediate)

GitHub Awesome Lists & Curated Collections

  • awesome-dotnet — Comprehensive collection of .NET libraries, tools, frameworks, and software organized by category
  • awesome-dotnet-core — Curated list of .NET Core libraries, tools, and frameworks for cross-platform development
  • awesome-blazor — Resources for Blazor, the .NET web framework running C# in the browser with WebAssembly
  • awesome-unity — Curated list of Unity assets, projects, and resources for game development
  • awesome-roslyn — Curated list of Roslyn (.NET compiler platform) resources for code analysis and generation
  • awesome-dotnet-performance — .NET performance optimization resources, benchmarks, and tooling

Interactive Courses & Hands-On Platforms

Free Courses

University & MOOC Courses

Practice & Challenges

  • Exercism C# Track — Mentored coding exercises with community feedback (Beginner)
  • Codewars C# — Progressive coding challenges from beginner to expert (All levels)
  • LeetCode — Algorithm challenges with C# support for interview preparation (Intermediate)
  • HackerRank C# — 30 Days of Code challenge with C# support (Beginner)
  • .NET Coding Challenges — Official .NET coding challenges from Microsoft (Beginner)

Video Courses & YouTube Channels

Structured Course Playlists

Individual Creators & Channels

  • Nick Chapsas — High-quality .NET and C# content covering modern patterns, DDD, and new releases (Intermediate)
  • Tim Corey (IAmTimCorey) — Practical C# and .NET tutorials for real-world applications (Beginner)
  • Milan Jovanovic — Domain-Driven Design, CQRS, and clean architecture in .NET (Advanced)
  • Raw Coding — ASP.NET Core, authentication, and advanced .NET topics (Intermediate)
  • Brackeys — Game development tutorials with Unity and C# (archived but still valuable) (Beginner)
  • Amichai Mantinband — Clean architecture, DDD, and .NET API design (Advanced)
  • Zoran Horvat — Advanced C# patterns, functional programming, and OOP deep dives (Advanced)
  • Patrick God — .NET web development tutorials covering Blazor, ASP.NET Core, and Entity Framework (Beginner)
  • Coding Droplets — .NET MAUI, Blazor, and WPF desktop development tutorials (Intermediate)

Books & Long-Form Reading

Free Online Books

Essential Paid Books

  • C# in Depth — Jon Skeet’s authoritative deep dive into C# language features and evolution (Advanced, Paid)
  • Head First C# — Visual, hands-on approach to learning C# through projects (Beginner, Paid)
  • C# 12 and .NET 8 — Mark Price’s comprehensive modern C# guide updated annually (Intermediate, Paid)
  • Concurrency in C# Cookbook — Stephen Cleary’s guide to async, parallel, and reactive patterns (Advanced, Paid)
  • CLR via C# — Jeffrey Richter’s deep dive into the Common Language Runtime (Advanced, Paid)

Community, Practice & News

Forums & Discussion

Newsletters & Blogs

Package Registries & Ecosystems

  • NuGet Gallery — .NET package repository for discovering and sharing libraries
  • Unity Asset Store — Marketplace for Unity game development assets, tools, and plugins
  • .NET Foundation — Independent organization fostering the .NET open-source ecosystem

Tools & Environments

  • Visual Studio — Full-featured IDE with best-in-class C# and .NET support (Community edition is free)
  • Visual Studio Code — Lightweight editor with C# Dev Kit extension for .NET development
  • JetBrains Rider — Cross-platform .NET IDE with advanced refactoring and analysis (Paid)
  • LINQPad — Interactive C# scratchpad for testing queries, expressions, and code snippets
  • dotnet CLI — Command-line tools for creating, building, and managing .NET projects
  • SharpLab — Online C# compiler showing IL, JIT output, and decompilation
  • BenchmarkDotNet — Powerful .NET benchmarking library for performance testing
  • dotnet-counters — Performance monitoring tool for .NET applications
  • Swagger/Swashbuckle — Auto-generate OpenAPI documentation for ASP.NET Core APIs
  • Docker + .NET — Official guidance for containerizing .NET applications
  • Azurite — Local Azure Storage emulator for developing against Azure services offline