
C# 11 and .NET 7 - Modern Cross-Platform Development Fundamentals
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
All prices
More details
Other editions
Additional editions

Person
Mark J. Price is a Microsoft Specialist: Programming in C# and Architecting Microsoft Azure Solutions, with over 20 years' experience. Since 1993, he has passed more than 80 Microsoft programming exams and specializes in preparing others to pass them. Between 2001 and 2003, Mark was employed to write official courseware for Microsoft in Redmond, USA. His team wrote the first training courses for C# while it was still an early alpha version. While with Microsoft, he taught "train-the-trainer" classes to get other MCTs up-to-speed on C# and.NET. Mark holds a Computer Science BSc. Hons. Degree.
Content
- Speaking C#
- Controlling Flow, Converting Types, and Handling Exceptions
- Writing, Debugging, and Testing Functions
- Building Your Own Types with Object-Oriented Programming
- Implementing Interfaces and Inheriting Classes
- Packaging and Distributing.NET Types
- Working with Common.NET Types
- Working with Files, Streams, and Serialization
- Working with Data Using Entity Framework Core
- Querying and Manipulating Data Using LINQ
- Introducing Web Development Using ASP.NET Core
- Building Websites Using ASP.NET Core Razor Pages
- Building Websites Using the Model-View-Controller Pattern
- Building and Consuming Web Services
- Building User Interfaces Using Blazor
- Epilogue
- Appendix, Answers to the Test Your Knowledge Questions
Preface
There are programming books that are thousands of pages long that aim to be comprehensive references to the C# language, the .NET libraries, and app models like websites, services, and desktop and mobile apps.
This book is different. It is concise and aims to be a brisk, fun read packed with practical hands-on walk-throughs of each subject. The breadth of the overarching narrative comes at the cost of some depth, but you will find many signposts to explore further if you wish.
This book is simultaneously a step-by-step guide to learning modern C# proven practices using cross-platform .NET and a brief introduction to the fundamentals of web development and the websites and services that can be built with them. This book is best for beginners to C# and .NET or programmers who have worked with C# in the past but feel left behind by the changes in the past few years.
If you already have experience with older versions of the C# language, then in the first topic of Chapter 2, Speaking C#, you can review tables of the new language features and jump straight to them.
If you already have experience with older versions of the .NET libraries, then in the first topic of Chapter 7, Packaging and Distributing .NET Types, you can review tables of the new library features and jump straight to them.
I will point out the cool corners and gotchas of C# and .NET, so you can impress colleagues and get productive fast. Rather than slowing down and boring some readers by explaining every little thing, I will assume that you are smart enough to Google an explanation for topics that are related but not necessary to include in a beginner-to-intermediate guide that has limited space in the printed book.
Where to find the code solutions
You can download solutions for the step-by-step guided tasks and exercises from the GitHub repository at the following link: https://github.com/markjprice/cs11dotnet7.
If you don't know how, then I provide instructions on how to do this at the end of Chapter 1, Hello, C#! Welcome, .NET!.
What this book covers
Chapter 1, Hello, C#! Welcome, .NET!, is about setting up your development environment and using either Visual Studio 2022 or Visual Studio Code to create the simplest application possible with C# and .NET. For simplified console apps, you will see the use of the top-level program feature introduced in C# 9 and then used by the default project templates in C# 10 onwards. To learn how to write simple language constructs and library features, you will see the use of Polyglot Notebooks in an online section. You will also learn about some good places to look for help and ways to contact me to get help with an issue or give me feedback to improve the book today through its GitHub repository and in future print editions.
Chapter 2, Speaking C#, introduces the versions of C# and has tables showing which version introduced new features. I explain the grammar and vocabulary that you will use every day to write the source code for your applications. In particular, you will learn how to declare and work with variables of different types, and you will see how useful the C# 11 raw string literal feature is.
Chapter 3, Controlling Flow, Converting Types, and Handling Exceptions, covers using operators to perform simple actions on variables including comparisons, writing code that makes decisions, pattern matching in C# 7 to C# 11, repeating a block of statements, and converting between types. It also covers writing code defensively to handle exceptions when they inevitably occur.
Chapter 4, Writing, Debugging, and Testing Functions, is about following the Don't Repeat Yourself (DRY) principle by writing reusable functions using both imperative and functional implementation styles. You will also learn how to use debugging tools to track down and remove bugs, Hot Reload to make changes while your app is running, monitor your code while it executes to diagnose problems, and rigorously test your code to remove bugs and ensure stability and reliability before it gets deployed into production.
Chapter 5, Building Your Own Types with Object-Oriented Programming, discusses all the different categories of members that a type can have, including fields to store data and methods to perform actions. You will use object-oriented programming (OOP) concepts, such as aggregation and encapsulation. You will learn about language features such as tuple syntax support and out variables, operators and local functions, and default literals and inferred tuple names, as well as how to define and work with immutable types using the record keyword, init-only properties, and with expressions introduced in C# 9. We will also look at how C# 11 introduces the required keyword to help avoid the overuse of constructors to control initialization.
Chapter 6, Implementing Interfaces and Inheriting Classes, explains deriving new types from existing ones using OOP. You will learn how to define delegates and events, how to implement interfaces about base and derived classes, how to override a member of a type, how to use polymorphism, how to create extension methods, how to cast between classes in an inheritance hierarchy, and about the big changes in C# 8 with the introduction of nullable reference types and the switch to make this the default in C# 10 and later. You will also learn how analyzers can help you write better code.
Chapter 7, Packaging and Distributing .NET Types, introduces the versions of .NET and has tables showing which version introduced new library features. I then present the .NET types that are compliant with .NET Standard, and how they relate to C#.
You will learn how to write and compile code on any of the supported operating systems: Windows, macOS, and Linux variants. You will learn how to package, deploy, and distribute your own apps and libraries.
Chapter 8, Working with Common .NET Types, discusses the types that allow your code to perform common practical tasks, such as manipulating numbers and text, storing items in collections, and working with the network in an online section. You will also learn about regular expressions and the improvements that make them easier to write and how to improve their performance in .NET 7 by using source generators.
Chapter 9, Working with Files, Streams, and Serialization, covers interacting with the filesystem, reading and writing to files and streams, text encoding, and serialization formats like JSON and XML, including the improved functionality and performance of the System.Text.Json classes.
Chapter 10, Working with Data Using Entity Framework Core, explains reading and writing to relational databases, such as Microsoft SQL Server and SQLite, using the object-relational mapping (ORM) technology named Entity Framework Core (EF Core). You will learn how to define entity models that map to existing tables in a database using Database First models, as well as how to define Code First models that can create the tables and database at runtime in an online section.
Chapter 11, Querying and Manipulating Data Using LINQ, teaches you Language INtegrated Queries (LINQ)-language extensions that add the ability to work with sequences of items and filter, sort, and project them into different outputs. This chapter includes the new LINQ methods introduced in .NET 6 like TryGetNonEnumeratedCount and DistinctBy and in .NET 7 like Order and OrderDescending. You will learn about the special capabilities of LINQ to XML. In an online section, you will learn how to improve efficiency with Parallel LINQ (PLINQ).
Chapter 12, Introducing Web Development Using ASP.NET Core, introduces you to the types of web applications that can be built using C# and .NET. You will also build an EF Core model to represent the database for a fictional organization named Northwind that will be used throughout the rest of the chapters in the book. Finally, you will be introduced to common web technologies.
Chapter 13, Building Websites Using ASP.NET Core Razor Pages, is about learning the basics of building websites with a modern HTTP architecture on the server side using ASP.NET Core. You will learn how to implement the ASP.NET Core feature known as Razor Pages, which simplifies creating dynamic web pages for small websites, about building the HTTP request and response pipeline, and how to enable HTTP/3 in your website project.
Chapter 14, Building Websites Using the Model-View-Controller Pattern, is about learning how to build large, complex websites in a way that is easy to unit test and manage with teams of programmers using ASP.NET Core MVC. You will learn about startup configuration, authentication, routes, models, views, and controllers. You will learn about a feature eagerly anticipated by the .NET community called output caching that was finally implemented in ASP.NET Core 7.
Chapter 15, Building and Consuming Web Services, explains building backend REST architecture web services using the ASP.NET Core Web API. We cover how to...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: ePUB
Copy protection: without DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use a reader that can handle the file format ePUB, such as Adobe Digital Editions or FBReader – both free (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePUB works well for novels and non-fiction books – i.e., 'flowing' text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook does not use copy protection or Digital Rights Management
For more information, see our eBook Help page.