C# 9.0 comes with numerous new features like records, init properties, and target-typed new expressions, to name just a few.
In this talk, we want to understand the "Why?" behind those features and the "How?" of their use. We want to see how not to misuse them and how to efficiently refactor our existing code to C# 9.0.
We will start with Why, explaining the motivation behind individual C# 9.0 features. Through live-refactoring of an existing C# 8.0 Blazor application to C# 9.0 we will demonstrate to you the How.
By the time the talk and the refactoring end, you will:
- understand the motivation behind the new C# 9.0 features.
- learn which tools and techniques can help you efficiently refactor your existing code to C# 9.0.
- understand how to safely use C# 9.0 on older, officially not supported, .NET frameworks and runtimes.
- discover some smaller, less discussed, but very useful C# 9.0 features.
We will also have fun together, laughing at C# memes, surprising code lines, and weird programming challenges that C# 9.0 made possible, like writing non-trivial programs without using any curly braces :-) ;-)
Version | Date | Event | City | Country | Video |
---|---|---|---|---|---|
v0.5.0 | February 2nd, 2021 | [Meetup] BLbit User Group Banja Luka (with Marko Lohert) | Banja Luka (Online) | Bosnia and Herzegovina | YouTube |
v0.4.0 | January 23rd, 2021 | [Conference] .NET Conf 2020 - Bengaluru | Bengaluru (Online) | India | YouTube |
v0.1.0 | December 9th, 2020 | [Meetup] Microsoft Developer User Group Graz and Rijeka (with Marko Lohert) | Graz (Online) | Austria | YouTube |
The examples are available in the examples folder. Each subfolder contains a README.md file with additional reading material.
The People# Blazor application used in live refactoring is available in Marko Lohert's repository Talk C# 9 and .NET 5 with demo app People#.
The sample source code is in the public domain. To the extent possible under law, Igor Rončević has waived all copyright and related or neighboring rights to the sample source code.
The presentations are licensed under CC BY 4.0.