Start with Section 1: Fundamentals if you're new to C# Progress through each section sequentially for a structured learning path Each file contains code examples, explanations, and best practices Copy and run the examples in your own .NET projects Section 1: Fundamentals (10 files) # Topic File 01 Introduction to C# and .NET 01-Fundamentals/01-introduction-to-csharp-and-dotnet.md02 Development Environment Setup 01-Fundamentals/02-development-environment-setup.md03 Hello World and Basic Syntax 01-Fundamentals/03-hello-world-and-basic-syntax.md04 Variables and Data Types 01-Fundamentals/04-variables-and-data-types.md05 Operators and Expressions 01-Fundamentals/05-operators-and-expressions.md06 Control Flow 01-Fundamentals/06-control-flow.md07 Arrays and Collections 01-Fundamentals/07-arrays-and-collections.md08 Strings and String Manipulation 01-Fundamentals/08-strings.md09 Type Conversion and Casting 01-Fundamentals/09-type-conversion-and-casting.md10 Exception Handling 01-Fundamentals/10-exception-handling.md11 Input/Output Operations 01-Fundamentals/10-input-output-operations.md
Section 2: Object-Oriented Programming (9 files) # Topic File 11 Classes and Objects 02-OOP/11-classes-and-objects.md12 Inheritance 02-OOP/12-inheritance.md13 Polymorphism 02-OOP/13-polymorphism.md14 Encapsulation and Properties 02-OOP/14-encapsulation-and-properties.md15 Interfaces 02-OOP/15-interfaces.md16 Abstract Classes 02-OOP/16-abstract-classes.md17 Static Members and Classes 02-OOP/17-static-members.md18 Structs vs Classes 02-OOP/18-structs-vs-classes.md19 Records 02-OOP/19-records.md
Section 3: Advanced C# (10 files) # Topic File 20 Delegates and Events 03-Advanced/20-delegates-and-events.md21 Lambda Expressions 03-Advanced/21-lambda-expressions.md22 LINQ 03-Advanced/22-linq.md23 Generics 03-Advanced/23-generics.md24 Extension Methods 03-Advanced/24-extension-methods.md25 Reflection 03-Advanced/25-reflection.md26 Attributes 03-Advanced/26-attributes.md27 Indexers 03-Advanced/27-indexers.md28 Iterators and Yield 03-Advanced/28-iterators-and-yield.md29 Operator Overloading 03-Advanced/29-operator-overloading.md
Section 4: Modern C# Features (6 files) # Topic File 30 Pattern Matching 04-ModernFeatures/30-pattern-matching.md31 Nullable Reference Types 04-ModernFeatures/31-nullable-reference-types.md32 Top-Level Statements 04-ModernFeatures/32-top-level-statements.md33 Async Streams 04-ModernFeatures/33-async-streams.md34 Global Usings 04-ModernFeatures/34-global-usings.md35 Spans and Memory 04-ModernFeatures/35-spans-and-memory.md
Section 5: Async and Concurrency (4 files) # Topic File 36 Async and Await 05-AsyncConcurrency/36-async-and-await.md37 Task Parallel Library 05-AsyncConcurrency/37-task-parallel-library.md38 Threading and Synchronization 05-AsyncConcurrency/38-threading.md39 Channels 05-AsyncConcurrency/39-channels.md
Section 6: Data Access (4 files) # Topic File 40 ADO.NET 06-DataAccess/40-ado-net.md41 Entity Framework Core 06-DataAccess/41-entity-framework-core.md42 Dapper 06-DataAccess/42-dapper.md43 JSON Serialization 06-DataAccess/43-json-serialization.md
Section 7: Web Development (3 files) # Topic File 44 ASP.NET Core Web API 07-WebDevelopment/44-aspnet-core-web-api.md45 Dependency Injection 07-WebDevelopment/45-dependency-injection.md46 Minimal APIs 07-WebDevelopment/46-minimal-apis.md
.NET SDK 8.0+ A code editor (Visual Studio, VS Code, or Rider) Basic programming concepts # Check your .NET version
dotnet --version
# Create a new console project to experiment
dotnet new console -n MyLearning
cd MyLearning
dotnet runBeginner : Start with Section 1, then move to Section 2Intermediate : Complete Sections 3 and 4Advanced : Dive into Sections 5, 6, and 7Practice : Write small projects combining multiple concepts