Book Image

C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals - Seventh Edition

By : Mark J. Price
4.2 (5)
Book Image

C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals - Seventh Edition

4.2 (5)
By: Mark J. Price

Overview of this book

Extensively revised to accommodate the latest features that come with C# 11 and .NET 7, this latest edition of our guide will get you coding in C# with confidence. You’ll learn object-oriented programming, writing, testing, and debugging functions, implementing interfaces, and inheriting classes. Next, you’ll take on .NET APIs for performing tasks like managing and querying data, working with the filesystem, and serialization. As you progress, you’ll also explore examples of cross-platform projects you can build and deploy, such as websites and services using ASP.NET Core. Instead of distracting you with unnecessary graphical user interface code, the first eleven chapters will teach you about C# language constructs and many of the .NET libraries through simple console applications. Having mastered the basics, you’ll then start building websites, web services, and browser apps. By the end of this book, you’ll be able to create rich web experiences and have a solid grasp of object-oriented programming that you can build upon.
Table of Contents (19 chapters)
18
Index

Why LINQ?

The first question we need to answer is a fundamental one: why LINQ?

Comparing imperative and declarative language features

LINQ was introduced in 2008 with C# 3.0 and .NET Framework 3.0. Before that, if a C# and .NET programmer wanted to process a sequence of items, they had to use procedural, aka imperative, code statements. For example, a loop:

  1. Set the current position to the first item.
  2. Check if the item is one that should be processed by comparing one or more properties against specified values. For example, is the unit price greater than 50 or is the country equal to Belgium?
  3. If a match, process that item. For example, output one or more of its properties to the user, update one or more properties to new values, delete the item, or perform an aggregate calculation like counting or summing values.
  4. Move to the next item. Repeat until all items have been processed.

Procedural, aka imperative, code tells the compiler how to...