.NET Tutorial Learning Paths
Choose a topic and learn in sequence. Explore free .NET tutorials with working examples. Follow the suggested order within each topic, or jump to the concept you need.
Not sure where to start?
These are suggested starting points, not prerequisites or complete courses. Each topic has its own sequence.
Find a learning path
29 topics · 211 published articles
Browse topics and article counts
AI
7 published articles
Step 1
Using GitHub Copilot AI for Commit Message Generation
Step 2
Using GitHub Copilot AI for Architecture Diagram Generation
Step 3
Using GitHub Copilot AI for Documenting and Diagramming CI/CD Pipelines
Step 4
Using GitHub Copilot AI for Navigating New Codebase
Step 5
Building AI Chat Applications in .NET with Microsoft.Extensions.AI
Step 6
Automate .NET Framework Upgrades with GitHub Copilot AI Agents
Step 7
Automate NuGet Upgrades with GitHub Copilot AI Skills and Live Documentation Lookup
Blazor
35 published articles
Step 1
Blazor WASM Introduction
Step 2
Blazor WASM Components
Step 3
Blazor WASM Data Binding
Step 4
Blazor WASM Event Handling And Event Arguments
Step 5
Blazor WASM Communication Between Components
Step 6
Blazor WASM Forms
Step 7
Blazor WASM Forms Validation
Step 8
Blazor WASM Controlling Head Content
Step 9
Blazor WASM Styles and CSS Isolation
Step 10
Blazor WASM Javascript Interop and Isolation
Step 11
Blazor WASM Exception Handling and Error Boundary
Step 12
Blazor WASM Error Logging
Step 13
Blazor WASM Lazy Loading
Step 14
Blazor WASM Dark Theme and Light Theme
Step 15
Blazor WASM App Settings
Step 16
Blazor WASM Virtualization
Step 17
Blazor WASM Dynamic Component
Step 18
Blazor WASM Publishing to IIS
Step 19
Blazor WASM Publishing to GitHub Pages
Step 20
Blazor WASM Pre Rendering
Step 21
Blazor WASM Dockerizing
Step 22
Blazor WASM Publishing to AWS Amplify
Step 23
How to generate barcode in Blazor WASM
Step 24
Printing barcode to label printer from Blazor WASM
Step 25
Improve performance by dynamically loading image in Blazor WASM
Step 26
Prevent image leech by dynamically streaming image in Blazor WASM
Step 27
Using Hot Keys in Blazor WASM
Step 28
Blazor WASM Publishing to Azure Static Web Apps
Step 29
Developing Hybrid App with Blazor WASM and .NET MAUI
Step 30
Securing Blazor WASM with OAuth and OIDC using Identity Server
Step 31
Using C/C++ Native Dependencies in Blazor WASM
Step 32
End to End Testing using Playwright in Blazor WASM
Step 33
Blazor WASM Standalone Cookie Authentication with ASP.NET Identity
Step 34
Blazor WASM Two-Factor Authentication with QR Codes and ASP.NET Identity
Step 35
Face Detection and Face Verification in ASP.NET Web API with pgvector and Blazor WASM
Caching
2 published articles
Database
1 published articles
DDD
20 published articles
Step 1
DDD Mindset and Language - Building Software That Speaks Your Business Domain
Step 2
When to Use DDD and When to Keep It Simple
Step 3
Core DDD Principles in Practice - Transforming Procedural Code to Domain Models
Step 4
Ubiquitous Language QuickStart - Building a Shared Vocabulary for Your Domain
Step 5
Event Storming Workshop - Collaborative Domain Discovery in 60 Minutes
Step 6
Core vs Supporting vs Generic Domains - Strategic Investment Framework
Step 7
Entities vs Value Objects in DDD - Understanding Identity and Equality in .NET
Step 8
Designing a Money Value Object in .NET - Eliminating Primitive Obsession
Step 9
From Anemic to Rich Domain Models in .NET - Moving Logic into Entities
Step 10
Understanding Aggregates and Boundaries in DDD - Defining Consistency Boundaries
Step 11
Implementing Order Aggregate Pattern in .NET - Complete DDD Example
Step 12
Domain Events Pattern in .NET - Decoupling Aggregates with Event-Driven Design
Step 13
Publishing and Handling Domain Events in DDD with .NET
Step 14
Repository Pattern Done Right in DDD with .NET
Step 15
Thin Application Services in DDD with .NET
Step 16
Testing Domain Models in DDD with .NET
Step 17
Bounded Contexts in Practice - Strategic DDD for Clean System Design in .NET
Step 18
Context Maps and Relationships in DDD - Visualizing Bounded Context Integrations in .NET
Step 19
Anti-Corruption Layer Pattern in DDD - Protecting Your Domain from External Systems in .NET
Step 20
Specification Pattern - Eliminating Scattered Business Logic in DDD
Dependency Injection
7 published articles
Step 1
Introducing Dependency Injection in .NET
Step 2
Dependency Injection Lifetimes in .NET
Step 3
Control Freak Antipattern in Dependency Injection
Step 4
Service Locator Antipattern in Dependency Injection
Step 5
Ambient Context Antipattern in Dependency Injection
Step 6
Constrained Construction Antipattern in Dependency Injection
Step 7
Constructor Over-injection Antipattern in Dependency Injection
Design Pattern
13 published articles
Step 1
Design Pattern Introduction
Step 2
Creational Design Pattern - Singleton
Step 3
Structural Design Pattern - Decorator
Step 4
Structural Design Pattern - Facade
Step 5
Creational Design Pattern - Builder
Step 6
Enterprise Design Pattern - Repository
Step 7
Enterprise Design Pattern - Unit of Work
Step 8
Behavioral Design Pattern - Observer
Step 9
Creational Design Pattern - Factory
Step 10
Behavioral Design Pattern - State
Step 11
Behavioral Design Pattern - Visitor
Step 12
Structural Design Pattern - Adapter
Step 13
Structural Design Pattern - Composite
HTTP Client
6 published articles
Step 1
Improving performance and memory use while accessing APIs using HTTPClient in dotnet
Step 2
Free up resources with Cancellation while accessing APIs using HTTPClient in dotnet
Step 3
Save bandwidth with Compression when sending and reading data using HTTPClient in dotnet
Step 4
Working with API that supports remote streaming using HTTPClient in dotnet
Step 5
Extending HTTPClient with Custom Http Message Handlers in dotnet
Step 6
Unit Testing HTTPClient in dotnet
JSON
5 published articles
Step 1
Working with Unknown JSON Using JsonDocument in .NET
Step 2
Creating and Modifying JSON Using JsonNode in .NET
Step 3
Maximizing JSON Performance with Utf8JsonReader and Utf8JsonWriter in .NET
Step 4
Handling JSON Errors and Best Practices in .NET
Step 5
Mastering Advanced JSON with Custom Converters and Source Generation in .NET
LINQ
26 published articles
Step 1
LINQ Introduction
Step 2
LINQ Select in C#: Project Data with Practical Examples
Step 3
LINQ OrderBy in C#: Sort by One or Multiple Fields
Step 4
Using LINQ Where to Filter Data
Step 5
Using LINQ First to Select Single Data
Step 6
Using LINQ Last to Select Single Data
Step 7
Using LINQ Single to Select Single Data
Step 8
LINQ Take in C#: Select the First N Results
Step 9
Using LINQ Skip to Select Specific Data
Step 10
Using LINQ Distinct to Select Unique Data
Step 11
Using LINQ Chunk to Split Data
Step 12
Using LINQ All to Find Type of Data
Step 13
Using LINQ Any to Find Type of Data
Step 14
Using LINQ Contains to Check Data
Step 15
Using LINQ Sequence Equal to Find Equality of data
Step 16
Using LINQ Except to Find Difference in data
Step 17
Using LINQ Intersect to Find Common data
Step 18
Using LINQ Union to combine data
Step 19
Using LINQ Concat to combine data
Step 20
Using LINQ Join to combine data
Step 21
Using LINQ Group Join to combine data
Step 22
Simulating Left Outer Join using LINQ
Step 23
LINQ GroupBy in C#: Group and Aggregate Data
Step 24
Using LINQ Count Min Max Average and Sum to Aggregate data
Step 25
Using LINQ For Each to Iterate Collections
Step 26
Understanding LINQ Deferred, Immediate, Streaming and Non-Streaming Executions
Logging
5 published articles
Step 1
Introduction to Logging in .NET - From Basics to Best Practices
Step 2
Mastering Modern .NET Logging - Structured Logging and Advanced Concepts
Step 3
Understanding .NET Logging Providers - From Console to Custom Implementations
Step 4
Getting Started with Serilog in .NET - From Installation to Production-Ready Logging
Step 5
High Performance Logging in .NET
MAUI
1 published articles
MCP
1 published articles
Memory
3 published articles
Middleware
2 published articles
MLNET
4 published articles
MSBuild
1 published articles
OOPS
2 published articles
OWASP
1 published articles
Python
1 published articles
Regex
1 published articles
Report
3 published articles
Security
10 published articles
Step 1
Improve Data Security by Redacting Logs in .NET
Step 2
Improve Data Security with Right to be Forgotten in .NET
Step 3
Improve Data Security by Doing a Secure User Data Download in .NET
Step 4
Improve Data Security by Preventing Excessive Data Exposure in .NET
Step 5
Improve Data Security with Hashing Techniques in .NET
Step 6
Improve Data Security with Cryptographically Secure Random Generation in .NET
Step 7
Improve Data Security by Safely Storing Files in .NET
Step 8
Improve Data Security by Validating File Contents in .NET
Step 9
Improve Data Security by Implementing Secure File Retrieval in .NET
Step 10
Improve Security with Dependency Management and SBOM in .NET
SignalR
8 published articles
Step 1
Fundamentals of SignalR in .Net
Step 2
Types of Clients in SignalR
Step 3
Send Notifications using IHubContext and Caller in SignalR
Step 4
Send Notifications to Groups and Connection Id in SignalR
Step 5
Message Pack Hub Protocol and Keep Alive in SignalR
Step 6
Exception Handling and Logging in SignalR
Step 7
Streaming and Authentication and Authorization in SignalR
Step 8
Design and Deployment and Scaling Consideration in SignalR
SOLID
6 published articles
Talk
1 published articles
TDD
2 published articles
Testing
7 published articles
Step 1
Unit Testing Anti-Pattern: Exposing Private State
Step 2
Unit Testing Anti-Pattern: Testing Private Methods
Step 3
Unit Testing Anti-Pattern: Leaking Domain Knowledge to Tests
Step 4
Unit Testing Anti-Pattern: Code Pollution
Step 5
Unit Testing Anti-Pattern: Mocking Concrete Classes
Step 6
Unit Testing Anti-Pattern: Working with Time
Step 7
Unit Testing Anti-Pattern: Working with Logger
Web API
30 published articles
Step 1
Importance of Status Code in Web API
Step 2
Global Exception Handling in ASP.NET WEB API
Step 3
Structured Logging with Serilog in ASP.NET WEB API
Step 4
Request Endpoint Response (REPR) pattern in ASP.NET WEB API
Step 5
Perform Background Workloads in Hosted Service using Channels in ASP.NET Web API
Step 6
MiniProfiler in ASP.NET Core: Profile Web API Performance
Step 7
Unit Testing Filters in ASP.NET Web API
Step 8
Unit Testing Middlewares in ASP.NET Web API
Step 9
Unit Testing Service Registrations in ASP.NET Web API
Step 10
Unit Testing Controllers in ASP.NET Web API
Step 11
Functional testing your ASP.NET WEB API
Step 12
Faking Dependencies in Functional testing in ASP.NET WEB API
Step 13
Using Docker Test Containers in Functional Testing in ASP.NET WEB API
Step 14
Using WireMock.NET in Functional testing in ASP.NET WEB API
Step 15
Configuring Authentication in Functional testing in ASP.NET WEB API
Step 16
Unit Testing Hosted Services in ASP.NET WEB API
Step 17
Fitness Test using Net Arch Test in ASP.NET WEB API
Step 18
Implementing Caching using Decorator Pattern in ASP.NET WEB API
Step 19
Implementing Health Checks in ASP.NET WEB API
Step 20
Using NBomber for Performance, Load and Stress testing in ASP.NET WEB API
Step 21
Using a Distributed Lock in Hosted Service in ASP.NET WEB API
Step 22
Encrypt and Decrypt using ASP.NET Core Data Protection in ASP.NET WEB API
Step 23
Replacing MediatR with a Custom Mediator (Dynamic Dispatch) in WEB API
Step 24
Documenting Web API with OpenAPI and Scalar in ASP.NET
Step 25
URI-Based API Versioning in ASP.NET Web API
Step 26
Securing ASP.NET Web API with JWT Bearer Token Authentication
Step 27
Authorization with Claims and Policies in ASP.NET Web API
Step 28
Testing ASP.NET Web API with HTTP REPL and HTTP Files
Step 29
Structured Logging in ASP.NET Web API with Built-in ILogger
Step 30
From 18 Database Subqueries to One JSON Lookup: Dashboard Optimization in ASP.NET Web API
Interview prep
Turn your learning into interview confidence.
Put these tutorials into practice with C# and .NET questions, system design exercises, and a readiness checklist.
- C# & .NET Q&A
- System design
- 14-point checklist