C Sharp 9.0 Pocket Reference (CloudMonk.io)

C# 9.0 Pocket Reference: Instant Help for C# 9.0 Programmers



Return to C Sharp Bibliography | C# Bibliography, C Sharp | C# or Pocket Reference

C# 9.0 Pocket Reference: Instant Help for C# 8.0 Programmers

by Joseph Albahari and Ben Albahari

(Fair Use B08SYWWDTX)

Fair Use Source: B08SYWWDTX

* Paperback: 248 pages
* Publisher: O'Reilly Media; 1st edition (January 13, 2021)
* Publication date : January 13, 2021
* ISBN-10: 1098101138
* ISBN-13: 978-1098101138
* ASIN: B08SYWWDTX
* amazon>B08SYWWDTX
* Print length: 362 pages


When you have questions about C Sharp 9 | C# 9.0 or [[.NET 5, this best-selling guide has the answers you need. C# is a language of unusual flexibility and breadth, but with its continual growth there's so much more to learn. In the tradition of O'Reilly's Nutshell guides, this thoroughly updated edition is simply the best one-volume reference to the C# language available today.

Organized around concepts and use cases, C# 9.0 in a Nutshell provides intermediate and advanced programmers with a concise map of C# and .NET that also plumbs significant depths.

* Get up to speed on C#, from syntax and variables to advanced topics such as pointers, records, closures, and patterns
* Dig deep into LINQ with three chapters dedicated to the topic
* Explore concurrency and asynchrony, advanced threading, and parallel programming
* Work with .NET features, including regular expressions, networking, spans, reflection, and cryptography

Joseph Albahari is author of C Sharp 8.0 in a Nutshell | C# 8.0 in a Nutshell, C Sharp 8.0 Pocket Reference | C# 8.0 Pocket Reference, and LINQ Pocket Reference (all from O'Reilly). He also wrote LINQPad, the popular code scratchpad and LINQ querying utility.


Intro


"C# is a general-purpose, type-safe, primarily object-oriented programming language, the goal of which is programmer productivity. To this end, the language balances simplicity, expressiveness, and performance. C# 9 is designed to work with the Microsoft .NET 5 runtime (whereas C Sharp 8 | C# 8 targets .NET Core 3, and C Sharp 7 | C# 7 targets .NET Core 2 and Microsoft .NET Framework 4.x | .NET Framework 4.6/4.7/4.8)."

Fair Use Source: B08SYWWDTX

----
Note: The programs and code snippets in this book mirror those in Chapters 2 through 4 of C Sharp 9.0 in a Nutshell | C# 9.0 in a Nutshell and are all available as interactive samples in LINQPad. Working through these samples in conjunction with the book accelerates learning in that you can edit the samples and instantly see the results without needing to set up projects and solutions in Visual Studio.

To download the samples, click the Samples tab in LINQPad and then click “Download more samples.” LINQPad is free — go to www.linqpad.net.



Table of Contents



(Fair Use B08SYWWDTX)

Fair Use Source: B08SYWWDTX


* A First C# Program
** C Sharp Compilation

* C Sharp Syntax
** C Sharp Identifiers and Keywords
** [[C Sharp Literals, Punctuators, and Operators
** C Sharp Comments


* C Sharp Type Basics
** C Sharp Predefined Type Examples
** C Sharp Custom Type Examples
** C Sharp Types and Conversions
** C Sharp Value Types Versus Reference Types
** C Sharp Predefined Type Taxonomy


* C Sharp Numeric Types
** C Sharp Numeric Literals
** C Sharp Numeric Conversions
** C Sharp Arithmetic Operators
** C Sharp Increment and Decrement Operators
** C Sharp Specialized Integral Operations
** C Sharp 8- and 16-Bit Integral Types
** C Sharp Special Float and Double Values
** C Sharp double Versus decimal
** C Sharp Real Number Rounding Errors


* C Sharp Boolean Type and Operators
** C Sharp Equality and Comparison Operators
** C Sharp Conditional Operators


* Strings and Characters
** C Sharp String Type

* C Sharp Arrays
** C Sharp Default Element Initialization
** C Sharp Indices and Ranges
** C Sharp Multidimensional Arrays
** C Sharp Simplified Array Initialization Expressions


* C Sharp Variables and Parameters
** C Sharp Stack and Heap
** C Sharp Definite Assignment
** C Sharp Default Values
** C Sharp Parameters
** C Sharp var — Implicitly Typed Local Variables
** C Sharp Target-Typed new Expressions (C Sharp 9)


* C Sharp Expressions and Operators
** C Sharp Assignment Expressions
** C Sharp Operator Precedence and Associativity
** C Sharp Operator Table


* C Sharp Null Operators
** C Sharp Null-Coalescing Operator
** C Sharp Null-Coalescing Assignment Operator
** C Sharp Null-Conditional Operator


* C Sharp Statements
** C Sharp Declaration Statements
** C Sharp Expression Statements
** C Sharp Selection Statements
** C Sharp Iteration Statements
** C Sharp Jump Statements


* C Sharp Namespaces
** C Sharp using Directive
** C Sharp using static
** C Sharp Rules Within a Namespace
** C Sharp Aliasing Types and Namespaces


* C Sharp Classes
** C Sharp Fields
** C Sharp Constants
** C Sharp Methods
** C Sharp Instance Constructors
** C Sharp Deconstructors
** C Sharp Object Initializers
** C Sharp this Reference
** C Sharp Properties
** C Sharp Indexers
** C Sharp Static Constructors
** C Sharp Static Classes
** C Sharp Finalizers
** C Sharp Partial Types and Methods
** C Sharp nameof Operator


* C Sharp Inheritance
** C Sharp Polymorphism
** C Sharp Casting and Reference Conversions
** C Sharp Virtual Function Members
** C Sharp Abstract Classes and Abstract Members
** C Sharp Hiding Inherited Members
** C Sharp Sealing Functions and Classes
** C Sharp base Keyword
** C Sharp Constructors and Inheritance
** C Sharp Overloading and Resolution


* C Sharp object Type
** C Sharp Boxing and Unboxing
** C Sharp Static and Runtime Type Checking
** C Sharp GetType Method and typeof Operator
** C Sharp Object Member Listing
** C Sharp Equals, ReferenceEquals, and GetHashCode
** C Sharp ToString Method


* C Sharp Structs
** C Sharp Struct Construction Semantics
** C Sharp readonly Structs and Functions


* [[C Sharp
Access Modifiers]]
** C Sharp Friend Assemblies
** C Sharp Accessibility Capping


* C Sharp Interfaces
** C Sharp Extending an Interface
** C Sharp Explicit Interface Implementation
** C Sharp Implementing Interface Members Virtually
** C Sharp Reimplementing an Interface in a Subclass
** C Sharp Default Interface Members


* C Sharp Enums
** C Sharp Enum Conversions
** C Sharp Flags Enums
** C Sharp Enum Operators


* C Sharp Nested Types


* C Sharp Generics
** C Sharp Generic Types
** C Sharp Generic Methods
** C Sharp Declaring Type Parameters
** C Sharp typeof and Unbound Generic Types
** C Sharp default Generic Value
** C Sharp Generic Constraints
** C Sharp Subclassing Generic Types
** C Sharp Self-Referencing Generic Declarations
** C Sharp Static Data
** C Sharp Covariance
** C Sharp Contravariance


* C Sharp Delegates
** C Sharp Writing Plug-In Methods with Delegates
** C Sharp Instance and Static Method Targets
** C Sharp Multicast Delegates
** C Sharp Generic Delegate Types
** C Sharp Func and Action Delegates
** C Sharp Delegate Compatibility


* C Sharp Events
** C Sharp Standard Event Pattern
** C Sharp Event Accessors


* C Sharp Lambda Expressions
** C Sharp Capturing Outer Variables
** C Sharp Lambda Expressions Versus Local Methods


* C Sharp Anonymous Methods


* C Sharp try Statements and Exceptions
** C Sharp catch Clause
** C Sharp finally Block
** C Sharp Throwing Exceptions
** C Sharp Key Properties of System.Exception


* C Sharp Enumeration and Iterators
** C Sharp Enumeration
** C Sharp Collection Initializers
** C Sharp Iterators
** C Sharp Iterator Semantics
** C Sharp Composing Sequences


* C Sharp Nullable Value Types
** C Sharp Nullable Struct
** C Sharp Nullable Conversions
** C Sharp Boxing-Unboxing Nullable Values
** C Sharp Operator Lifting
** C Sharp bool? with & and vertical bar Operators
** C Sharp Nullable Types and Null Operators


* C Sharp Nullable Reference Types


* C Sharp Extension Methods
** C Sharp Extension Method Chaining
** C Sharp Ambiguity and Resolution


* C Sharp Anonymous Types


* C Sharp Tuples
** C Sharp Naming Tuple Elements
** C Sharp Deconstructing Tuples


* C Sharp Records (C Sharp 9)
** C Sharp Defining a Record
** C Sharp Nondestructive Mutation
** C Sharp Primary Constructors
** C Sharp Records and Equality Comparison


* C Sharp Patterns
** C Sharp var Pattern
** C Sharp Constant Pattern
** C Sharp Relational Patterns (C Sharp 9)
** C Sharp Pattern Combinators (C Sharp 9)
** C Sharp Tuple and Positional Patterns
** C Sharp Property Patterns


* C Sharp LINQ
** C Sharp LINQ Fundamentals
** C Sharp Deferred Execution
** C Sharp Standard Query Operators
** C Sharp Chaining Query Operators
** C Sharp Query Expressions
** C Sharp let Keyword
** C Sharp Query Continuations
** C Sharp Multiple Generators
** C Sharp Joining
** C Sharp Ordering
** C Sharp Grouping
** C Sharp OfType and Cast


* C Sharp Dynamic Binding
** C Sharp Static Binding Versus Dynamic Binding
** C Sharp Custom Binding
** C Sharp Language Binding
** C Sharp RuntimeBinderException
** C Sharp Runtime Representation of dynamic
** C Sharp Dynamic Conversions
** C Sharp var Versus dynamic
** C Sharp Dynamic Expressions
** C Sharp Dynamic Member Overload Resolution
** C Sharp Uncallable Functions


* C Sharp Operator Overloading
** C Sharp Operator Functions
** C Sharp Overloading Equality and Comparison Operators
** C Sharp Custom Implicit and Explicit Conversions


* C Sharp Attributes
** C Sharp Attribute Classes
** C Sharp Named and Positional Attribute Parameters
** C Sharp Attribute Targets
** C Sharp Specifying Multiple Attributes
** C Sharp Writing Custom Attributes
** C Sharp Retrieving Attributes at Runtime


* C Sharp Caller Info Attributes

* C Sharp Asynchronous Functions
** C Sharp await and async Keywords
** C Sharp Capturing Local State
** C Sharp Writing Asynchronous Functions
** C Sharp Parallelism
** C Sharp Asynchronous Lambda Expressions
** C Sharp Asynchronous Streams


* C Sharp Unsafe Code and Pointers
** C Sharp Pointer Basics
** C Sharp Unsafe Code
** C Sharp fixed Statement
** C Sharp Pointer-to-Member Operator
** C Sharp stackalloc Keyword
** C Sharp Fixed-Size Buffers
** C Sharp void*
** C Sharp Function Pointers (C Sharp 9)


* C Sharp Preprocessor Directives
** C Sharp Pragma Warning


* C Sharp XML Documentation
** C Sharp Standard XML Documentation Tags


* C Sharp 9.0 Pocket Reference Index




Index