Skip to content
Happy Programming Guide
Start learning

C#

C# fundamentals in plain English — types, collections, LINQ and the language features that make everyday code shorter.

16 guides

C#

C# Performance Optimization

Profiling before guessing, then the fixes that pay: allocations, LINQ in hot paths, string building, Span, async correctness and database queries.

5 min read

C#

Introduction to C#

What C# is, what .NET provides, where the language is used, and your first program — plus how it compares with Java,…

4 min read

C#

C# Events and Delegates

What a delegate is, how events build on them, Action and Func, and the two mistakes that cause memory leaks and null…

5 min read

C#

C# Design Patterns

The design patterns that earn their place in C#: strategy, factory, repository, decorator, observer and options — with the language features that…

4 min read

C#

Distinct() Not Working on Objects in C#

Distinct removes duplicates by equality, and for classes equality means the same instance. Three fixes: DistinctBy, a record, or IEquatable, and which…

3 min read

C#

C# 14 Extension Members Explained

Extension members let you add properties, static members and operators to types you do not own, not just methods. The new extension…

4 min read

C#

C# Generics

Generic classes, methods and constraints in C#, why the generic List beats ArrayList, and the variance keywords in and out explained plainly.

5 min read

C#

C# Testing

Writing unit tests in C# with xUnit: arrange-act-assert, parameterised tests, mocking dependencies, and what is actually worth testing.

4 min read

C#

C# Deployment

How to publish a .NET application: framework-dependent versus self-contained builds, single-file output, trimming, Docker and configuration for production.

4 min read

C#

C# Basics

The core of C# in one page: types, variables, conditions, loops, methods, collections and classes, with the compiler errors beginners meet.

5 min read

Keep going — pick your next guide

The fastest way to improve is to read one guide, then build the thing it describes. Start with the basics, or jump straight to a project.