Dreitägiger Intensiv-Workshop für erfahrene .NET-Ingenieure: fortgeschrittene C# 14-Features, Performance-Muster, Source Generators, Async/Parallel-Workloads und .NET 10 Runtime-Verbesserungen — mit praxisnahen Benchmarking- und Diagnostics-Labs.
Fortgeschrittenes C# und .NET 10 (C# 14)
Dauer: 3 Tage
Praxisorientierter Workshop für erfahrene .NET-Ingenieure zur Beherrschung von modernem C# (bis C# 14) und .NET 10. Fokus auf fortgeschrittene Sprachkonstrukte, Performance-Muster, Runtime-Features und Erstellen/Konsumieren von Source Generators.
Zielgruppe
- Senior C#/.NET-Entwickler und Architekten
- Teams, die auf .NET 10 upgraden und neue C# 14-Funktionen übernehmen
- Ingenieure, die hochperformante Services, Bibliotheken oder Tooling erstellen
Voraussetzungen
- Starke C#/.NET-Erfahrung; vertraut mit Generics, async/await, LINQ
- .NET 8/9/10 SDKs, Visual Studio/VS Code
- Vertrautheit mit Unit Testing und Profiling-Grundlagen
Lernziele
- Fortgeschrittene C#-Konstrukte für Korrektheit, Klarheit und Performance anwenden
- Neue C# 14-Features effektiv und sicher nutzen
- Source Generators, Analyzers und inkrementelle Pipelines erstellen und konsumieren
- Allokationen, Memory Layout und Async/Parallel Workloads optimieren
- Moderne .NET 10 Runtime-Bibliotheken, Hosting und Diagnostics integrieren
Agenda
- Moderne C#-Grundlagen-Auffrischung
- Spans, Ref Structs,
ref-Felder - Pattern Matching-Updates; Property-/Switch-Patterns
- Records, Required Members, Collection Expressions
- Spans, Ref Structs,
- C# 14-Highlights
- Primary Constructors (Klassen/Structs)
- Collection Expressions in mehr Kontexten;
paramsCollections - Interceptors (falls verfügbar),
usingAliases, Readonly Ref Extensions - Default-Parameter für Lambdas; Exhaustiveness-Verbesserungen
- Fortgeschrittenes Async und Concurrency
ValueTask, Cancellation, Timeouts;AsyncLocal-Vorsicht- Async Streams;
Parallel.ForEachAsync, Channels - Source-generierte Async-APIs; Durchsatz vs. Latenz
- Performance und Memory
- stackalloc/spans/pools;
Memory<T>/ReadOnlyMemory<T> Unsafemit Leitplanken; SIMD Intrinsics; Array PoolingCollectionsMarshal,StringBuildervs.string.Create, UTF-8 Literals/Parser
- stackalloc/spans/pools;
- Source Generators und Analyzers
- Roslyn-Architektur; inkrementelle Pipelines (Syntax/Semantic)
- Caching, inkrementelle Schritte, Allokationen vermeiden
- Generatoren erstellen/packen; Konsum in Apps/Libs
- .NET 10 Runtime/Plattform-Updates
- BCL-Ergänzungen; JIT/GC-Verbesserungen
- Trimming/AOT-Bereitschaft; Native AOT-Einschränkungen
- Hosting-Updates; Logging/Metrics/Tracing (OpenTelemetry,
dotnet monitor, EventPipe,dotnet-counters)
- Diagnostics und Testing
- Unit/Integration-Tests für moderne C#-Features
- Testing von Source Generators; Analyzer-Test-Harness
- Benchmarking (BenchmarkDotNet), Flame Graphs, Perf Traps (Boxing, Sync-over-Async, versteckte Allokationen)
Praktische Übungen (Beispiele)
- Refaktorierung zu Primary Constructors und Collection Expressions; Lesbarkeit und Allokationen verifizieren
- Implementierung eines benutzerdefinierten inkrementellen Source Generators und Analyzers; Unit Tests hinzufügen
- Hinzufügen eines source-generierten Serializers oder Client-Proxys und Messung des Startup/Runtime-Impacts
- Optimierung einer CPU-gebundenen Routine mit SIMD und Spans; Benchmark vorher/nachher
- Erstellen einer begrenzten Channel-basierten Pipeline und Tracing mit OpenTelemetry über das Aspire Dashboard
Ergebnisse
Die Teilnehmer sind in der Lage, fortgeschrittene C# 14/.NET 10-Codebasen zu entwerfen und bereitzustellen, Source Generators sicher zu nutzen, Performance-Probleme zu diagnostizieren und moderne Sprach-/Runtime-Features für wartbare, hochperformante Lösungen anzuwenden.