C# 8: Be Good, Get Good or Give Up
summary
C# 8 introduces concrete language features and trade-offs for .NET Core 3+ and Visual Studio 2019. It covers nullable reference types as compile-time annotations (not runtime checks), async streams via IAsyncEnumerable which generate state machines and dispose at end of local scope, indices and ranges for slicing (but often allocating new arrays and risking off-by-one confusion), default interface methods that add hidden implementation complexity, and readonly members that cut hidden copies and can improve performance; demos and code are linked on the conference page.
AI-written summary · about
chapters (22)
- 0:00Welcome
- 1:54C# 8 overview
- 3:24Talk format
- 5:30Installing C# 8
- 7:17Accessor attributes
- 10:16String interpolation
- 11:41ArgumentNullException checks
- 13:53Null-coalescing assignment
- 17:05Static local functions
- 18:29Using statement improvements
- 20:17Interfaces default impl
- 22:03Readonly structs
- 25:22Span and indices
- 26:54Async streams
- 31:57Async streams disposable
- 35:14Indices and ranges
- 43:51Interface changes
- 49:51Nullable reference types
- 54:47Arrays nullable issues
- 57:41Attributes null checks
- 59:52Pattern matching
- 1:03:30Q&A
related talks
01h 01mModern day C# development in Visual Studio 2019
12mAdventure in learning Go for a C# dev!
59mBringing C# nullability into existing code - dammit is not the answer!
42mASP .NET Basics for Experts
01h 01mModern day C# development in Visual Studio 2019
57mDon’t need to understand the details of .NET. Until you do
25mUpgrade from "permissive C++" to "modern C++" with Visual Studio 2019
55mUsing Immutable Data Structures
