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

Chapter 2: What's New in C# 9?

Since its first release in 2002, C# has come a long way. While C#'s first iteration had a striking resemblance to C and Java, its subsequent evolutions outpaced other languages in introducing industry-leading features (LINQ, async-await, and lambdas, to name a few) and still continue to do so.

In this chapter, we'll learn about the new language enhancements offered by C# 9 using the .NET 5 runtime. Some of these enhancements are a continuation of features introduced in C# 7 and C# 8. We'll discuss the design philosophy of these features, and then with coding examples, we'll learn when, why, and how to best leverage the new features.

The main goal of this chapter is to provide code-based examples, keeping the theory minimal, and show the distinct advantages that these new language constructs have over existing ones. Some major goals of C# enhancements (simplifying the code intent and empowering immutability) are explained...