Book description
The Comprehensive, Expert Guide to C# 8.0 for Programmers at All Levels
Welcome to one of the most venerable and trusted franchises you could dream of in the world of C# booksand probably far beyond! . . . Mark is super smart, insists on understanding everything to the core, and has phenomenal insight into how things affect real developers. . . . He goes right to the essence and communicates with great integrityno sugarcoatingand has a keen eye for practical value and real-world problems.
From the Foreword by Mads Torgersen, C# Lead Designer, Microsoft
Essential C# 8.0 is a well-organized, no-fluff guide to C# 8.0 for programmers at all levels of experience. This edition retains all the valuable content of prior editions and adds discussions of null reference types, indices and ranges, enhanced pattern matching, asynchronous stream, and more.
World-class C# expert Mark Michaelis presents a comprehensive tutorial and reference for the entire language, providing an accelerated learning opportunity to achieve expert C# programming skills. He includes key C# 8.0 enhancements, succinct examples to illustrate central constructs, and updated coding guidelines for minimizing bugs and writing code thats easier to evolve. To help you quickly find what you need, there are version-specific indexes of C# 6.0, 7.0, and 8.0 topics and visual icons that identify when each language innovation was introduced.
Use structured programming constructs to write functioning code immediately
Learn both the complexities and solutions to nullable reference types
Thoroughly master C# object constructs, including classes, inheritance, and interfaces
Reduce code redundancy with generics, delegates, lambda expressions, and events
Take full advantage of collections, including the new standard query operator collection API
Make the most of reflection, attributes, and the declarative programming paradigm
Improve multithreading with the task-based async pattern and C# 8.0 asynchronous streams
Enhance performance through the parallel processing of data and multithreading tasks
Program complex types with enhanced pattern matching syntax
Interoperate with unmanaged code written in other languages, including C-based APIs
Explore the relationship between C# programs and the underlying CLI runtime
Register your product for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Table of contents
- Cover Page
- About This eBook
- Halftitle Page
- Title Page
- Copyright Page
- Dedication Page
- Contents at a Glance
- Contents
- Figures
- Tables
- Foreword
- Preface
- Acknowledgments
- About the Author
- 1. Introducing C#
- 2. Data Types
- 3. More with Data Types
- 4. Operators and Flow Control
- 5. Methods and Parameters
-
6. Classes
- Declaring and Instantiating a Class
- Instance Fields
- Instance Methods
- Using the this Keyword
- Access Modifiers
- Properties
- Constructors
- Non-Nullable Reference Type Properties with Constructors
- Nullable Attributes
- Deconstructors
- Static Members
- Extension Methods
- Encapsulating the Data
- Nested Classes
- Partial Classes
- Summary
- 7. Inheritance
-
8. Interfaces
- Introducing Interfaces
- Polymorphism through Interfaces
- Interface Implementation
- Converting between the Implementing Class and Its Interfaces
- Interface Inheritance
- Multiple Interface Inheritance
- Extension Methods on Interfaces
- Versioning
- Extension Methods versus Default Interface Members
- Interfaces Compared with Abstract Classes
- Interfaces Compared with Attributes
- 9. Value Types
- 10. Well-Formed Types
- 11. Exception Handling
- 12. Generics
- 13. Delegates and Lambda Expressions
- 14. Events
- 15. Collection Interfaces with Standard Query Operators
- 16. LINQ with Query Expressions
- 17. Building Custom Collections
- 18. Reflection, Attributes, and Dynamic Programming
- 19. Introducing Multithreading
-
20. Programming the Task-Based Asynchronous Pattern
- Synchronously Invoking a High-Latency Operation
- Asynchronously Invoking a High-Latency Operation Using the TPL
- The Task-Based Asynchronous Pattern with async and await
- Introducing Asynchronous Return of ValueTask<T>
- Asynchronous Streams
- IAsyncDisposable and the await using Declaration and Statement
- Using LINQ with IAsyncEnumerable
- Returning void from an Asynchronous Method
- Asynchronous Lambdas and Local Functions
- Task Schedulers and the Synchronization Context
- async/await with the Windows UI
- Summary
- 21. Iterating in Parallel
- 22. Thread Synchronization
- 23. Platform Interoperability and Unsafe Code
-
24. The Common Language Infrastructure
- Defining the Common Language Infrastructure
- CLI Implementations
- .NET Standard
- Base Class Library
- C# Compilation to Machine Code
- Runtime
- Assemblies, Manifests, and Modules
- Common Intermediate Language
- Common Type System
- Common Language Specification
- Metadata
- .NET Native and Ahead of Time Compilation
- Summary
- Index
- Index of 8.0 Topics
- Index of 7.0 Topics
- Index of 6.0 Topics
- Credits
- Code Snippets
Product information
- Title: Essential C# 8.0, 7th Edition
- Author(s):
- Release date: October 2020
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780135972311
You might also like
book
Getting Started with Advanced C#: Upgrade Your Programming Skills
Understand and work with the most important features of advanced C# in different programming environments. This …
book
HTTP/2 in Action
HTTP/2 in Action teaches you everything you need to know to use HTTP/2 effectively. You'll learn …
book
Learning TypeScript
TypeScript has conquered the world of JavaScript: it's one of the world's fastest growing and most …
book
Dependency Injection Principles, Practices, and Patterns
Dependency Injection Principles, Practices, and Patterns teaches you to use DI to reduce hard-coded dependencies between …