About this Advanced C# course
This high-level training course is specifically designed to push intermediate developers into the upper echelons of engineering excellence within the modern ecosystem. Operating at the absolute boundary of the runtime platform, this curriculum builds upon your existing .NET experience to focus entirely on precision execution, performance optimisation, and advanced systems design.
Attendees will dissect the inner workings of the virtual machine to understand exactly how their code translates into memory allocations and processor instructions.
Throughout the intensive laboratory segments, attendees will engage with the sophisticated syntax patterns introduced in the latest language specifications, including deep explorations of performance-oriented memory abstractions, advanced structural metaprogramming, and highly scalable concurrency patterns. By shifting focus toward zero-allocation architecture and defensive framework design, this course transforms how developers approach complex corporate software engineering tasks.
Online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
By the end of this course, attendees will be able to:
- Leverage advanced features like unified extension blocks and field-backed properties to engineer clean, low-boilerplate domain models.
- Architect zero-allocation routines using memory spans and stack-allocated structures to bypass garbage collection overhead entirely.
- Manage multi-threaded synchronisation, concurrent collections, and complex data streaming pipelines without deadlocks or race conditions.
- Construct reusable, highly flexible software layers using advanced generic constraints, covariance, and contravariance.
- Build dynamic software components using reflection, advanced custom attributes, and Roslyn-powered source generators.
- Implement strategic diagnostic logging, profiling tools, and memory dump analysis to track down memory leaks in production environments.
-
This masterclass is designed for senior software engineers, applications architects, and technical team leads who already have a solid grasp of object-oriented programming and standard asynchronous workflows with .NET.
It is ideal for individuals building high-frequency trading platforms, intensive cloud services, big-data processing pipelines, or shared enterprise framework libraries where execution speed and architectural purity are paramount.
-
You should have attended our Introduction to .NET Programming with C# training course (or have equivalent knowledge) with extensive professional development experience using C# and the modern software development platform. Absolute familiarity with baseline asynchronous infrastructure, standard object-oriented design, generic structures, and relational database interfaces is strictly required.
-
This advanced C# course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Advanced language mechanics & Metaprogramming
Syntactic modernisation: Capitalising on current language innovations including field-backed auto-properties, null-conditional assignment, and unbound generic name expressions.
Unified extensions: Authoring static and instance extension properties, extension operators, and compound type assignments via extension blocks.
Advanced Generics: Mastering generic constraints, resolving complex overload priority ambiguities, and implementing variance interfaces.
Source Generation & Compilation: Exploiting partial instance constructors and custom events to facilitate compile-time source code generation.
Hands-on lab: Engineering an extensible plug-in framework that uses source generators and static extension blocks to inject runtime behaviours cleanly without performance penalties.
Low-Allocation Memory Management & Pointer Types
Garbage Collector internals: Dissecting generations, compaction algorithms, large object heap mechanics, and modern runtime pooling optimisations.
High-efficiency memory buffers: Maximising the throughput of high-performance memory spans and read-only spans via implicit conversion pipelines.
Stack allocation strategies: Eliminating heap pressures by shifting small immutable arrays and type structures from the heap to the execution stack.
Resource optimisation: Authoring deterministic cleanup architectures using ref structs and disposable operational scopes.
Hands-on lab: Profiling an existing data parser to identify memory spikes, then refactoring its inner execution path to run completely zero-allocation using stack-based buffers.
Advanced Concurrency & Parallel Pipelines
Task-Based Asynchronous patterns: Designing custom task schedulers, controlling thread pools, and tracking deeply nested asynchronous contexts.
Asynchronous Data Streaming: Authoring high-throughput data pipelines using asynchronous enumerables and asynchronous disposable routines.
Concurrent collections: Mitigating threading overhead using specialised lock-free collections, block-buffered channels, and atomic thread operations.
Synchronisation disciplines: Configuring fine-grained thread synchronisation routines using modern mutex, semaphore, and structural lock instances.
Hands-on lab: Building a multi-threaded data scraping engine that processes high-volume inputs concurrently, manages thread access safely via data channels, and outputs data smoothly via asynchronous streams.
Diagnostics, Security, & Resilient Enterprise Architecture
Runtime diagnostic instrumentation: Hooking into the runtime engine using diagnostic listeners, counter metrics, and performance tracking hooks.
Production debugging: Capturing, reading, and evaluating system memory dumps to pinpoint memory leaks or thread deadlocks under intense loads.
Resilient Architecture patterns: Implementing sophisticated structural exception filters, policy-based fallback engines, and defensive error boundaries.
Modern cryptographic standards: Using post-quantum cryptography frameworks and Windows next-generation encryption Application Programming Interfaces securely.
Hands-on lab: Diagnosing an intentionally broken, deadlocked microservice using memory analysis tools, correcting its synchronisation bugs, and layering post-quantum security tokens over its communication boundaries.
Trusted by