Extra Credit

C#

Official docs outline

20 sections
  1. A tour of C#

    Program structure, types, expressions, statements and the .NET runtime model.

  2. Type system

    Value vs reference types, structs, classes, records, enums, tuples and nullable value types.

  3. Program structure and top-level statements

    Main method, top-level statements, namespaces, using directives and assemblies.

  4. Classes and objects

    Fields, properties, methods, constructors, access modifiers, static members and object initializers.

  5. Inheritance, interfaces and polymorphism

    Inheritance, abstract classes, interfaces, virtual and override, and polymorphism.

  6. Generics

    Type parameters, constraints, covariance and contravariance.

  7. Records and immutability

    Record classes and structs, value equality, with-expressions and init-only properties.

  8. Pattern matching

    is expressions, switch expressions, property, relational and list patterns.

  9. Nullable reference types

    Null-state analysis, annotations, the null-forgiving operator and migrating code.

  10. Exceptions

    try/catch/finally, throwing, exception filters and custom exceptions.

  11. Delegates, events and lambdas

    Delegates, Func/Action, events, lambda expressions and closures.

  12. LINQ

    Query expressions and method syntax, deferred execution and IEnumerable/IQueryable.

  13. Collections

    Lists, dictionaries, sets, queues, immutable and concurrent collections.

  14. Asynchronous programming

    async/await, Task and ValueTask, cancellation, ConfigureAwait and async streams.

  15. Attributes and reflection

    Custom attributes, runtime reflection and source generators.

  16. Memory management and Span

    Garbage collection, IDisposable, using, Span<T>, Memory<T> and ref structs.

  17. Garbage collection

    Generations, managed heap, finalizers and the disposal pattern.

  18. Parallel and threading

    Task Parallel Library, PLINQ, threads and synchronization.

  19. C# language reference

    Keywords, operators, statements and built-in types.

  20. C# language specification

    Formal definition of the C# language.

Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.

All 41