Book Image

Adopting .NET 5

By : Hammad Arif, Habib Qureshi
Book Image

Adopting .NET 5

By: Hammad Arif, Habib Qureshi

Overview of this book

.NET 5 is the unification of all .NET technologies in a single framework that can run on all platforms and provide a consistent experience to developers, regardless of the device, operating system (OS), or cloud platform they choose. By updating to .NET 5, you can build software that can quickly adapt to the rapidly changing demands of modern consumers and stay up to date on the latest technology trends in .NET. This book provides a comprehensive overview of all the technologies that will form the future landscape of .NET using practical examples based on real-world scenarios, along with best practices to help you migrate from legacy platforms. You’ll start by learning about Microsoft’s vision and rationale for the unification of the platforms. Then, you’ll cover all the new language enhancements in C# 9. As you advance, you’ll find out how you can align yourself with modern technology trends, focusing on everything from microservices to orchestrated containerized deployments. Finally, you’ll learn how to effectively integrate machine learning in .NET code. By the end of this .NET book, you’ll have gained a thorough understanding of the .NET 5 platform, together with a readiness to adapt to future .NET release cycles, and you’ll be able to make architectural decisions about porting legacy systems and code bases to a newer platform.
Table of Contents (13 chapters)
1
Section 1: Features and Capabilities
4
Section 2: Design and Architecture
7
Section 3: Migration
10
Section 4: Bonus

Leveraging performance improvements

How nice it is to get better performance without changing our code! Yes, that's what the .NET Core team has been doing for us. There are a number of performance improvements in the .NET 5 runtime that will make your code run faster without changing a single line (except for targeting the framework at .NET 5).

Most performance improvements are a continuation of the language and runtime features introduced in prior .NET Core versions. The .NET team is now incorporating these features in widely used methods and classes for developers to benefit from. I'll provide some notable examples of these enhancements later in the chapter.

One critical consideration for performance-oriented C# developers is to reduce the number of times that garbage collection has to kick in. In C# 7.2 and .NET Core 2.1, a new system type, Span<T>, was added that helps developers to access contiguous memory without creating additional memory allocations....