Learn C# in a structured, docs-first way.
This repository is built for learners who want more than scattered syntax notes or disconnected code snippets. It follows the official Microsoft C# and .NET documentation as the source of truth, but explains the ideas in a slower, more connected order with examples, practical notes, and companion notebooks.
- guided lessons under docs 📖
- interactive notebook companions under notebooks 📓
- a practical learning path from C# foundations through syntax, control flow, methods, object-oriented programming, advanced language features, LINQ, asynchronous programming, Roslyn, and .NET runtime topics 🧭
- concept-first explanations that help beginners, developers coming from other languages, and working engineers build a stronger mental model before jumping into framework-specific code 🧠
- 00 Introduction
- 01 Getting Started
- 02 Core Syntax and Types
- 03 Statements and Flow Control
- 04 Members, Methods, and Functions
- 05 Namespaces, Projects, and Organization
- 06 Object-Oriented C#
- 07 Advanced Language Features
- 01 Pattern Combinators
- 02 Nullable Reference Types
- 03 Attributes
- 04 Preprocessor Directives
- 05 Unsafe Code and Pointers
- 06 Span and Memory Overview
- 07 User-defined Conversions
- 08 Overload Resolution Overview
- 09 Anonymous Types
- 10 dynamic and Reflection Overview
- 11 Nullable Value Types
- 12 Caller Information Attributes
- 11 Nullable Value Types
- 12 Caller Information Attributes
- 08 Practical C#
- 09 LINQ and Data Queries
- 10 Asynchronous Programming
- 11 C# How-To Guides
- 12 Roslyn and Code Analysis
- 13 What's New in C#
- 14 .NET Platform and Runtime
- 01 .NET Platform Overview
- 02 Runtime, CLR, and Managed Execution
- 03 Common Type System and Base Class Library
- 04 Target Frameworks, TFMs, and .NET Standard
- 05 .NET SDK, Project System, and MSBuild
- 06 NuGet Packages and Dependency Management
- 07 Configuration, Dependency Injection, and Generic Host
- 08 Logging, Diagnostics, and Observability
- 09 Memory Management, Garbage Collection, and Resources
- 10 Threading, Tasks, and Parallel Programming
- 11 Publishing, Deployment, and Versioning
- 12 Security, Cryptography, and Safe Code
- 13 Streams and IO
- 14 Collection Interfaces and Specialized Collections
- 15 Synchronization and Shared State
- 16 Parallel Processing and Data Parallelism
- 17 Networking, URIs, and HttpClient
- 18 Assemblies, Reflection, and Metadata
- 19 Regular Expressions
The notebooks folder contains hands-on companions to the main lessons.
Use docs/ for the full explanations and notebooks/ for runnable examples and small experiments.
- C# Language Reference
- .NET Fundamentals
- .NET Documentation
- .NET CLI Overview
- .NET Runtime Libraries
- .NET Diagnostics
- C# Language Versioning
- System.Text.Json
- NuGet Documentation
This repository is licensed under the MIT License.
See the LICENSE.md file for the full information.