Free to read ยท Three levels
C#: Types, Asynchrony, and Runtime Contracts
Build precise C# programs and reason about nullability, collections, async lifetimes, memory, and concurrency.
Start learningIn this course
This complete language and runtime course develops C# from console programs and typed expressions to generics, LINQ, asynchronous operations, Span, garbage collection, concurrency, and secure API boundaries. Each level contains six substantial lessons, with explained examples, diagnosis records, and worked exercises.
The course focuses on C# and .NET rather than a web framework. Demonstrations use synthetic data and platform libraries, with no real database, cloud account, or external service. Operational examples explain contracts without deploying anything.
What you will learn
- Explain C# types, null-state analysis, value copying, and object references.
- Design generic and LINQ operations with explicit enumeration contracts.
- Build cancellable asynchronous operations and bounded I/O.
- Review memory lifetimes, synchronization, API compatibility, and measured performance.
Your learning path
Three levels
Basic: Typed Programs and Object Contracts
Read and construct C# console programs with clear values, control, collections, and failure behavior.
- The C# Toolchain and Program Model
- Types, Conversions, and Nullability
- Control Flow and Method Contracts
- Collections, Strings, and Bounds
- Classes, Interfaces, and Invariants
- Exceptions and Deterministic Resource Cleanup
Intermediate: Composition and Asynchronous Work
Compose generics, LINQ, asynchronous operations, cancellation, I/O, and meaningful tests.
- Generics and Collection Contracts
- LINQ and Deferred Enumeration
- Async, Await, and Task Lifetimes
- Cancellation and Operation Lifetimes
- Bounded I/O and Serialization
- Testing and Debugging Contracts
Advanced: Lifetimes, Concurrency, and Runtime Design
Justify memory and synchronization rules and carry them into maintainable, measurable APIs.
- Value Semantics, References, and Garbage Collection
- Span, Memory, and Borrowed Lifetimes
- Concurrency and Synchronization
- API Design, Immutability, and Compatibility
- Profiling and Measured Performance
- Security and Runtime Release Boundaries
Who this is for
- New C# learners who can edit text and run local development commands.
- Developers reviewing null safety, asynchronous control flow, collection semantics, and runtime behavior.
Before you start
- Basic programming familiarity helps, but the basic level explains its core concepts.
- Complete preceding levels or bring equivalent knowledge before advanced lessons.