Add what's new in 7E page

This commit is contained in:
Mark J Price 2023-02-04 10:19:53 +00:00
parent bdcaca4120
commit 9cfd22145b
2 changed files with 80 additions and 0 deletions

View file

@ -60,6 +60,7 @@ The appendix and color figures are available to download as PDFs:
Corrections for typos and other mistakes and improvements like refactoring code. Useful links to other related material.
- [Book Links](book-links.md)
- [Improvements & Errata - list of corrections](docs/errata)
- [What's New in the 7th Edition](docs/whats-new.md)
- [Seventh edition's support for .NET 8](docs/dotnet8.md)
## Microsoft Certifications

79
docs/whats-new.md Normal file
View file

@ -0,0 +1,79 @@
**What's New in the 7th Edition**
There are hundreds of minor fixes and improvements throughout the 7th edition; too many to list individually. All errata and improvements listed [here](https://github.com/markjprice/cs10dotnet6/blob/main/docs/errata/README.md) have been made to the 7th edition.
The main new sections in C# 11 and .NET 7, 7th edition compared to C# 10 and .NET 6 6th edition are shown below.
# Chapter 1
- Understanding .NET support: explains that *Current* support is now renamed *Standard Term Support (STS)*.
# Chapter 2
- Raw string literals and Raw interpolated string literals: new C# 11 features.
# Chapter 3
- Storing multiple values in an array: not a new feature but previous editions didn't really cover arrays.
- List pattern matching with arrays: a new C# 11 feature.
# Chapter 4
- Understanding top-level programs and functions: I explain in detail how top-level programs work with separate files for `partial Program` class since I use that technique throughout the book.
- Most of the function examples have been improved based on reader feedback, for example, going beyond supported ranges to see when exceptions and overflows occur.
- A brief aside about the correct usage of the terms *arguments* and *parameters*.
- Hot reloading during development.
- Logging information about your source code.
# Chapter 5
- Avoiding a namespace conflict with a using alias, and Renaming a type with a using alias. Not new but useful for readers to know.
- Requiring properties to be set during instantiation: the new C# 11 `required` keyword.
# Chapter 6
- Checking for `null` in method parameters: explains the story behind `!!` in C# 11.
- Treating warnings as errors: added for good practice.
- Understanding warning waves.
# Chapter 7
- Viewing source links with Visual Studio 2022: explain differences between viewing source links and decompiling, with `Enumerable.Count` method as an example which then helps to understand later why `Count()` can be inefficient.
# Chapter 8
- Activating regular expression syntax coloring: the new `[StringSyntax]` attribute introduced in .NET 7.
- Improving regular expression performance with source generators.
# Chapter 9
- Working with Tar archives. New in .NET 7.
# Chapter 10
- Customizing the reverse engineering templates: I just mention that this is possible because it's interesting but too advanced for this book.
- More efficient updates and deletes. Uses new methods in EF Core 7.
# Chapter 11
- Sorting by the item itself. Uses new methods in .NET 7.
- Be careful with Count! A section about the `Count()` method implementation and how it can be tricky to work with efficiently.
- Paging with LINQ. A new section for the book but not a new LINQ feature. Just helpful to cover before getting into web development.
# Chapter 13
- Enabling request decompression support.
- Enabling HTTP/3 support.
# Chapter 14
- Using output caching. Output caching was added in ASP.NET Core 7.
# Chapter 15
- Support for logging additional request headers in W3CLogger.
- Enabling HTTP/3 support for HttpClient.
# Chapter 16
- Enabling location change event handling.