Assumptions of this doc:

  • You have previous programming knowledge like JavaScript
  • You have setup the C# environment and wrote your very first Hello World App

1. Language Basics

1.1 Data Types

1.2 Variables

1.3 Operators

1.4 Basic Input and Output

1.5 Special Characters

1.6 Built-in Numeric Conversion

1.7 Unboxing and Boxing Conversions

2. Code Organization & Namespaces

2.1 Namespace

2.2 Using — Importing Namespaces

2.3 Extern Alias

2.4 Assemblies & DLL basics

3. Control Flow

3.1 Conditional Statements

3.2 Loops

3.3 Jump Statements

4. Methods (Functions)

4.1 Defining Methods

4.2 Method Parameters and Return Types

4.3 Method Overloading

4.4 Optional & Named Parameters

4.5 Recursion Basics

4.6 Local Functions

5. Object-Oriented Programming (OOP)

5.1 Classes and Objects

5.2 Constructors & Destructors

5.3 Properties & Fields

5.4 Methods within classes

5.5 Encapsulation

5.6 Inheritance

5.7 Polymorphism

5.8 Interfaces & Abstract Classes

5.9 Static Members

5.10 Records & Init-only Properties

5.11 Sealed Classes & Methods

6. Collections & Generics

6.1 Arrays

6.2 Lists, Dictionaries, Sets

6.3 Queues & Stacks

6.4 Generic Methods & Classes

7. Exception Handling

7.1 Try-Catch-Finally

7.2 Throwing Exceptions - Throw

7.3 Custom Exceptions

7.4 Exception Filters

7.5 Multiple Catch Blocks with Exception Hierarchy

8 Advanced Features

8.1 Delegates & Events

8.1.1 Types Explicitly In Delegates

8.2 Lambda expressions

8.3 LINQ Queries

8.4 Anonymous Types

8.5 Extension Methods

8.6 Nullable Types

8.7 Tuples & ValueTuples

8.8 Checked and Unchecked Arithmetic

8.9 Dynamic Programming

9. File IO & Data Persistence

9.1 Reading & Writing text files

9.2 JSON Serialisation and Deserialisation

9.3 Working with CSV or XML Files

10. Asynchronous Programming & Tasks

10.1 Async and Await

10.2 Task and Task.T

10.3 Parallel Programming Basics

10.4 Cancellation Tokens

11. Working with APIs & .NET Libraries

11.1 Using NuGet Packages

11.2 Making HTTP Requests

11.3 Using .NET built-in Libraries

12. Debugging and Logging