As you have probably already heard, .NET 5.0 was released this week. To celebrate this, today's newsletter features some the best .NET articles written about the new features in .NET 5.0
We’re excited to release .NET 5.0 today and for you to start using it. It’s a major release — including C# 9 and F# 5 — with a broad set of new features and compelling improvements. It’s already in active use by teams at Microsoft and other companies, in production and for performance testing. Those teams are showing us great results that demonstrate performance gains and/or opportunities to reduce hosting costs for their web applications.
By Richard Lander
It’s official: C# 9.0 is out! Back in May I blogged about the C# 9.0 plans, and the following is an updated version of that post to match what we actually ended up shipping. With every new version of C# we strive for greater clarity and simplicity in common coding scenarios, and C# 9.0 is no exception. One particular focus this time is supporting terse and immutable representation of data shapes.
By Mads Torgersen
Record types are immutable reference types that provide value semantics for equality. Don’t worry – record types aren’t as complicated as they sound. Let’s break it all down and see what record types are, how to implement them in C# 9, and why we should care about them.
By Claudio Bernasconi
I migrated Fusion to .NET 5 today — and honestly, I was absolutely astonished by the performance boost it brings. The output is produced by Fusion’s “Caching” sample, which uses EF Core 5 and ASP.NET Core. The speed on tests producing 20M+ operations/s is mainly constrained by Fusion’s logic and Castle.DynamicProxy. And tests producing around 100K operations/s are constrained by either EF & SQL Server or ASP.NET Core. All of this means that you may expect +20% speed boost in “normal” apps, and it can go up to +100%, if we’re talking about relatively fast ASP.NET Core API endpoints.
By Alex Yakunin
A new feature in .NET 5 that will be available in C# 9.0 (which is slated for release in November 2020) is called “source generators.” It provides a means to create code based on expected conditions in existing code. This feature is baked into the compiler, creating a seamless, native code generation experience. In this article, I’ll dive into source generators and demonstrate how you can use them for your own implementation needs.
By Jason Bock
I post mostly about full stack .NET and Vue web development. To make sure that you don't miss out on any posts, please follow this blog and subscribe to my newsletter. If you found this post helpful, please like it and share it. You can also find me on Twitter.