<p> <b>Essential C# 8.0</b>ย is a well-organized, no-fluff guide to C# 8.0 for programmers at all levels of experience. Reflecting the most important C# features, it will help you write code thatโs simple, powerful, robust, secure, and maintainable.</p> <p>Author Mark Michaelis is a world-class C# ex
Essential C# 8.0 (7th Edition) (Addison-Wesley Microsoft Technology Series)
โ Scribed by Mark Michaelis
- Publisher
- Addison-Wesley Professional
- Year
- 2020
- Tongue
- English
- Leaves
- 1826
- Series
- Addison-Wesley Microsoft Technology Series
- Edition
- 7
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
Essential C# 8.0ย is a well-organized, no-fluff guide to C# 8.0 for programmers at all levels of experience. Reflecting the most important C# features, it will help you write code thatโs simple, powerful, robust, secure, and maintainable.
Author Mark Michaelis is a world-class C# expert: a long-time Microsoft MVP and Regional Director who also has served on Microsoftโs C# design review team. He presents a comprehensive tutorial and reference for the entire language, including expert coverage of key C# 8.0 enhancements. He illustrates key C# constructs with succinct examples, and presents best-practice coding guidelines.ย
โฆ Table of Contents
Halftitle Page
Title Page
Copyright Page
Dedications Page
Contents
List of Figures
List of Tables
Foreword
Preface
Acknowledgments [This content is currently in development.]
About the Author [This content is currently in development.]
1. Introducing C#
Hello, World
C# Syntax Fundamentals
Working with Variables
Console Input and Output
Managed Execution and the Common Language Infrastructure
Multiple .NET Frameworks
Summary
2. Data Types
Fundamental Numeric Types
More Fundamental Types
Conversions between Data Types
Summary
3. More with Data Types
Categories of Types
Declaring Types That Allow Null
Implicitly Typed Local Variables
Tuples
Arrays
Summary
4. Operators and Flow Control
Operators
Introducing Flow Control
Code Blocks ({})
Code Blocks, Scopes, and Declaration Spaces
Boolean Expressions
Programming with Null
Bitwise Operators (<<, >>, |, &, ^, ~)
Control Flow Statements, Continued
Jump Statements
C# Preprocessor Directives
Summary
5. Methods and Parameters
Calling a Method
Declaring a Method
The using Directive
Returns and Parameters on Main()
Advanced Method Parameters
Recursion
Method Overloading
Optional Parameters
Basic Error Handling with Exceptions
Summary
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
Derivation
Overriding the Base Class
Abstract Classes
All Classes Derive from System.Object
Pattern Matching with the is Operator
Pattern Matching within a switch Expression
Avoid Pattern Matching When Polymorphism is Possible
Summary
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
Summary
9. Value Types
Structs
Boxing
Enums
Summary
10. Well-Formed Types
Overriding object Members
Operator Overloading
Referencing Other Assemblies
Encapsulation of Types
Defining Namespaces
XML Comments
Garbage Collection
Resource Cleanup
Lazy Initialization
Summary
11. Exception Handling
Multiple Exception Types
Catching Exceptions
Rethrowing an Existing Exception
General Catch Block
Guidelines for Exception Handling
Defining Custom Exceptions
Rethrowing a Wrapped Exception
Summary
12. Generics
C# without Generics
Introducing Generic Types
Constraints
Generic Methods
Covariance and Contravariance
Generic Internals
Summary
13. Delegates and Lambda Expressions
Introducing Delegates
Declaring Delegate Types
Lambda Expressions
Statement Lambdas
Anonymous Methods
Delegates Do Not Have Structural Equality
Outer Variables
Expression Trees
Summary
14. Events
Coding the Publish-Subscribe Pattern with Multicast Delegates
Understanding Events
Summary
15. Collection Interfaces with Standard Query Operators
Collection Initializers
What Makes a Class a Collection: IEnumerable
Standard Query Operators
Anonymous Types with LINQ
Summary
16. LINQ with Query Expressions
Introducing Query Expressions
Query Expressions Are Just Method Invocations
Summary
17. Building Custom Collections
More Collection Interfaces
Primary Collection Classes
Providing an Indexer
Returning Null or an Empty Collection
Iterators
Summary
18. Reflection, Attributes, and Dynamic Programming
Reflection
nameof Operator
Attributes
Programming with Dynamic Objects
Summary
19. Introducing Multithreading
Multithreading Basics
Asynchronous Tasks
Canceling a Task
Working with System.Threading
Summary
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 async Return of ValueTask
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
Executing Loop Iterations in Parallel
Running LINQ Queries in Parallel
Summary
22. Thread Synchronization
Why Synchronization?
Timers
Summary
23. Platform Interoperability and Unsafe Code
Platform Invoke
Pointers and Addresses
Executing Unsafe Code via a Delegate
Summary
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
๐ SIMILAR VOLUMES
โIf youโre writing a native Win32 program or just want to know what the OS is really doing underneath, you need Johnโs book. He covers the stuff that real systems programmers absolutely must know. Recommended.โ โChris Sells, Microsoft Corporation ย โThis fourth edition does a great job of incorp
โIf youโre writing a native Win32 program or just want to know what the OS is really doing underneath, you need Johnโs book. He covers the stuff that real systems programmers absolutely must know. Recommended.โ โChris Sells, Microsoft Corporation ย โThis fourth edition does a great job of incorp
โThe chapter on programming a KMDF hardware driver provides a great example for readers to see a driver being made.โ โPatrick Regan, network administrator, Pacific Coast Companiesย The First Authoritative Guide to Writing Robust, High-Performance Windows 7 Device Drivers ย Windows 7 Device Dri
The Comprehensive, Expert Guide to C# 12.0 for Programmers at All Levels Updated for the Microsoft C# 12.0 Long Term Support (LTS) release, Essential C# 12.0 is a well-organized, no-fluff C# guide, suitable for every programmer. Building on the proven, high-value content of previous editions, wor