Early previewThis guide is in development. Items tagged verify are still being checked against official docs.
nebx Learn
GitHub
Menu
Home/C#/Basics
C#

C#

A productive, strongly typed language for the whole .NET platform.

Paradigm
OOP, functional features
Typing
Static, strong, nullable-aware
Memory
Generational GC
Runs
.NET runtime (JIT) or Native AOT
Concurrency
Tasks, async/await, channels

Basics

The concepts you need before patterns make sense in C#.

The .NET runtime

C# compiles to Intermediate Language (IL) that the runtime JIT-compiles to machine code. Native AOT can produce a self-contained native binary instead.

// Program.cs with top-level statements
Console.WriteLine("Hello, patterns!");

Value vs reference types

struct and record struct live inline and copy by value; class instances live on the managed heap and are passed by reference.

Properties, interfaces, generics

Properties wrap fields with get/set logic; interfaces define contracts; generics are reified at runtime, so List is truly a list of ints.

LINQ

Language-Integrated Query gives declarative operations (Where, Select, GroupBy) over collections, databases and more.

async / await

Task-based asynchronous code reads sequentially while the thread is released during I/O.

Saved in this browser only. Part of Clean code foundations (0/5).