Let’s catch up with C#! Exciting new features in C# 9, 10, 11, 12 and 13!
summary
Covers concrete C# 9–13 changes with code demos in Visual Studio and SharpLab that decompile into equivalent IL and measure effects: records and init-only setters with value equality, primary constructors and required properties that turn warnings into compile errors, pattern and span patterns allocation-free examples, collection expressions and spread, raw string literals, and an interceptor demo that replaces a logger call at compile time so the exception never fires. Notes runtime requirements (net9) and minor performance gains from cached delegates.
AI-written summary · about
chapters (25)
- 0:00Welcome to C# updates
- 2:28Why upgrade to latest .NET
- 3:30C# 9 features and records
- 7:03Pattern matching evolution
- 10:11File scope namespaces in C# 9
- 12:40Demo: C# 9 records
- 13:23Pattern matching in C# 9
- 16:14Global using directives in C# 10
- 18:03C# 10 structs and records
- 19:27Improved lambdas in C# 10
- 20:29Minimal APIs in C# 10
- 21:13Required and nullable in C# 11
- 23:20Demo: C# 11 required props
- 25:25List patterns in C# 11
- 28:33Raw string literals in C# 11
- 28:53C# 12 new features
- 31:01Collection expressions in C# 12
- 31:22Primary constructors in C# 12
- 32:05Interceptors in C# 12
- 34:32C# 13 reducing boilerplate
- 35:15Field keyword in C# 13
- 36:59Params collection in C# 13
- 38:24New lock semantics in C# 13
- 39:05Future of C#
- 39:47Summary
related talks
25mC# Past, Present, and Future
38mC# with sugar on top
22mModern C#: A Dive into the Community's Most Loved New Features
53mWhat C# Programmers Need to Know About Pattern Matching
01h 01mF# as a Better Python
43mWhat's New and Exciting in Julia
57mFrom C# to Python – 10 Things I Learned Along the Way
47mBeginning Julia: Language and Landscape
