C# & .NET Learning Path

This learning path guides you through everything required to grow into a skilled modern C# and .NET developer. You'll start by mastering the language basics, then advance into key .NET capabilities, and ultimately learn how to build clean, reliable, and high-performance applications by applying modern development practices.

Core Language Foundations

Learn the fundamentals of the C# language, from syntax and key features to safe handling of null values.

C#

Getting Started: C#

Get started with C# programming in this comprehensive course, perfect for beginners or those transitioning from other languages. Learn key concepts like variables, loops, OOP, and debugging in C#.

5h 8m Getting Started
Nick Cosentino Nick Cosentino
C#

Deep Dive: C#

Dive deeper into C# with this advanced course, covering topics like OOP, multithreading, async programming, LINQ, and more. Perfect for those with C# basics looking to expand their expertise.

6h 28m Deep Dive
Nick Cosentino Nick Cosentino

.NET Fundamentals

Build a strong foundation in essential .NET concepts like dependency injection, logging, configuration, and reflection.

Dependency Injection in .NET with C#

From Zero to Hero: Dependency Injection in .NET with C#

Master Dependency Injection in .NET with this comprehensive course by Nick Chapsas. Learn how to build cleaner, more maintainable code, optimize testability, and tackle real-world projects.

4h 41m From Zero to Hero
Nick Chapsas Nick Chapsas
Logging in .NET

From Zero to Hero: Logging in .NET

Learn essential logging techniques in .NET to ensure reliable applications. This course covers built-in logging, structured logging with Serilog, and advanced features for production-ready code.

2h 56m From Zero to Hero
Nick Chapsas Nick Chapsas
Configuration and Options in .NET

From Zero to Hero: Configuration and Options in .NET

Learn how to configure and manage settings in .NET applications with Configuration and Options. This course covers essential techniques for handling application settings, secure storage, and more.

3h 27m From Zero to Hero
David Pine David Pine
Reflection in .NET

From Zero to Hero: Reflection in .NET

Learn how to use Reflection in .NET with this course, covering everything from accessing type information to advanced techniques like invoking members, handling attributes, and working with generics.

5h 19m From Zero to Hero
Nick Cosentino Nick Cosentino

Writing Quality Code

Master testing and code quality practices in C#, including unit testing, integration testing, TDD, refactoring, clean code, and SOLID principles.

Unit testing for C# Developers

From Zero to Hero: Unit testing for C# Developers

Learn modern unit testing in C# from scratch! This course by Nick Chapsas teaches you how to write reliable, maintainable unit tests, covering key concepts, techniques, and real-world applications.

3h 39m From Zero to Hero
Nick Chapsas Nick Chapsas
Test-Driven Development in C#

From Zero to Hero: Test-Driven Development in C#

Learn Test-Driven Development (TDD) in C# from the ground up! This course covers everything from the basics to advanced TDD concepts, helping you write cleaner, more maintainable code.

5h 41m From Zero to Hero
Gui Ferreira Gui Ferreira
Writing Clean Code with C#

From Zero to Hero: Writing Clean Code with C#

Learn how to write clean, maintainable C# code using modern Clean Code practices. This course covers essential principles like readability and simplicity for more efficient development.

4h 6m From Zero to Hero
Gui Ferreira Gui Ferreira
Refactoring for C# Developers

From Zero to Hero: Refactoring for C# Developers

Learn refactoring techniques in C# to improve code quality and maintainability. This course covers modern practices to optimize your codebase, with examples to enhance readability, and testability.

5h 7m From Zero to Hero
Nick Cosentino Nick Cosentino
SOLID Principles for C# Developers

From Zero to Hero: SOLID Principles for C# Developers

Learn the SOLID principles in C# with practical examples. This course covers the five SOLID principles, along with other key software engineering concepts like DRY to improve your code quality.

2h 20m From Zero to Hero
Alex Hyett Alex Hyett

Advanced .NET Concepts

Dive deeper into advanced .NET development with source generators.

Creational Design Patterns in C#

Learn how to create objects in flexible and reusable ways using classic creational design patterns.

Singleton

Design Patterns in C#: Singleton

Learn everything about the Singleton Design Pattern in C#. This course explains its importance, benefits, and how to manage resources and maintain consistency in applications using the pattern.

48m Design Patterns in C#
Amichai Mantinband Amichai Mantinband

Structural Design Patterns in C#

Understand how to compose classes and objects into larger structures with structural design patterns.

Behavioral Design Patterns in C#

Master behavioral design patterns to manage algorithms, relationships, and responsibilities between objects.

What's New

Leaderboard
feature

Leaderboard

See how you stack up against other learners. Track your progress, climb the ranks, and compete with the Dometrain community.

Learn more about Leaderboard
Hands-On: Learn PostgreSQL
course

Hands-On: Learn PostgreSQL

Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn PostgreSQL
Free Hands-On: C# for Beginners
course

Free Hands-On: C# for Beginners

Learn C# through hands-on coding exercises. Practice what you learn with interactive challenges designed for everyone, from beginners to experts.

Learn more about Free Hands-On: C# for Beginners
Getting Started: AI for .NET Developers
course

Getting Started: AI for .NET Developers

Get started with integrating AI into your .NET applications effectively using the latest LLM best practices.

Learn more about Getting Started: AI for .NET Developers
Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn more about Getting Started: Building .NET Applications on AWS
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn more about What's new in C# 14
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn more about Let's Build It: AI Chatbot with RAG in .NET Using Your Data
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn more about From Zero to Hero: SignalR in .NET
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn more about Deep Dive: Solution Architecture
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn more about Migrating: ASP.NET Web APIs to ASP.NET Core
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn more about Getting Started: Caching in .NET
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn more about From Zero to Hero: Testing with xUnit in C#
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn more about Create a ChatGPT Console AI Chatbot in C#