Managed Execution and the Common Language Infrastructure
Conversions between Data Types
Declaring Types That Allow null
Implicitly Typed Local Variables
Code Blocks, Scopes, and Declaration Spaces
Bitwise Operators (<<
, >>
, |
, &
, ^
, ~
)
Control Flow Statements, Continued
Returns and Parameters on Main()
Basic Error Handling with Exceptions
Declaring and Instantiating a Class
Non-Nullable Reference Type Properties with Constructors
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
Polymorphism through Interfaces
Converting between the Implementing Class and Its Interfaces
Multiple Interface Inheritance
Extension Methods on Interfaces
Extension Methods versus Default Interface Members
Interfaces Compared with Abstract Classes
Interfaces Compared with Attributes
Rethrowing an Existing Exception
Guidelines for Exception Handling
Rethrowing a Wrapped Exception
13 Delegates and Lambda Expressions
Delegates Do Not Have Structural Equality
Coding the Publish–Subscribe Pattern with Multicast Delegates
15 Collection Interfaces with Standard Query Operators
What Makes a Class a Collection: IEnumerable
16 LINQ with Query Expressions
Query Expressions Are Just Method Invocations
17 Building Custom Collections
Returning null
or an Empty Collection
18 Reflection, Attributes, and Dynamic Programming
Programming with Dynamic Objects
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>
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
Executing Loop Iterations in Parallel
Running LINQ Queries in Parallel
23 Platform Interoperability and Unsafe Code
Executing Unsafe Code via a Delegate
24 The Common Language Infrastructure
Defining the Common Language Infrastructure
C# Compilation to Machine Code
Assemblies, Manifests, and Modules
13.58.244.216