c#
C#
The type system, LINQ, async and the .NET platform
16 topics 5 sections C# 14 / .NET 10 beginner → advanced
All beginner intermediate advanced
show All Unread Read
01 · Basics
4 topics C# fundamentals Understand how C# programs execute through expressions, statements, control flow, and methods, with a reliable model for types and input boundaries. beginner 18 min Data types Understand C# copy semantics, nullability, numeric conversions, and boxing, then avoid the type errors common in generated code. intermediate 17 min Exceptions Understand how C# exceptions are thrown, filtered, unwound, and propagated through tasks without losing the evidence needed to diagnose failure. intermediate 15 min Properties Understand C# properties, accessors, auto-properties, init, and required, including validation, mutability, and ownership traps. intermediate 16 min
02 · Types and LINQ
11 topics Attributes Understand how C# attributes store declarative metadata, how targets, arguments, inheritance, and reflection work, and what generated code gets wrong. intermediate 16 min Collections Choose C# collections by access pattern, equality, order, and concurrency, then avoid bugs involving mutable keys, read-only views, and compound operations. intermediate 15 min Delegates and events Delegates turn methods into type-safe values; events restrict who can publish notifications. Learn invocation lists, identity, capture, and async boundaries. intermediate 15 min Event subscription and lifetime Understand how C# events are declared, subscribed, raised, and released, including real traps around ordering, exceptions, and async handlers. intermediate 15 min Expression trees Represent lambdas as inspectable and translatable object trees; understand node types, parameter identity, visitors, compilation, and LINQ provider boundaries. advanced 17 min Generics Use type parameters to design reusable, type-safe C# APIs, with precise constraints, inference, variance, and runtime generic behavior. intermediate 16 min LINQ Compose type-safe queries with LINQ; understand deferred execution, materialization, operator contracts, ordering, and provider boundaries. intermediate 18 min Pattern matching Match runtime types and data shapes safely in C#, with explicit ordering, null handling, exhaustiveness, and list-pattern boundaries. intermediate 18 min Records Model data with C# record classes and record structs while keeping equality, copying, mutability, and inheritance behavior explicit. intermediate 17 min Reflection Inspect types and members at runtime, select overloads precisely, invoke code safely, and handle attributes, trimming, and Native AOT boundaries. advanced 17 min Span<T> and Memory<T> Use Span<T> and Memory<T> for contiguous memory views while keeping slicing, async boundaries, ownership, and stack allocation explicit. advanced 16 min