
C# 12 Pocket Reference
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Looking for quick answers for using C# 12? This tightly focused and practical guide tells you exactly what you need to know without long intros or bloated samples. Succinct and easy to browse, this pocket reference is an ideal quick source of information. If you know Java, C++, or an earlier C# version, this guide will help you get rapidly up to speed.
All programs and code snippets are available as interactive samples in LINQPad. You can edit these samples and instantly see the results without needing to set up projects in Visual Studio.
More details
Other editions
Additional editions

Content
- Cover
- Copyright
- Table of Contents
- C# 12 Pocket Reference
- A First C# Program
- Compilation
- Syntax
- Identifiers and Keywords
- Literals, Punctuators, and Operators
- Comments
- Type Basics
- Predefined Type Examples
- Custom Type Examples
- Types and Conversions
- Value Types Versus Reference Types
- Predefined Type Taxonomy
- Numeric Types
- Numeric Literals
- Numeric Conversions
- Arithmetic Operators
- Increment and Decrement Operators
- Specialized Integral Operations
- 8- and 16-Bit Integral Types
- Special Float and Double Values
- double Versus decimal
- Real Number Rounding Errors
- Boolean Type and Operators
- Equality and Comparison Operators
- Conditional Operators
- Strings and Characters
- String Type
- UTF-8 Strings
- Arrays
- Default Element Initialization
- Indices and Ranges
- Multidimensional Arrays
- Simplified Array Initialization Expressions
- Variables and Parameters
- The Stack and the Heap
- Definite Assignment
- Default Values
- Parameters
- var-Implicitly Typed Local Variables
- Target-Typed new Expressions
- Expressions and Operators
- Assignment Expressions
- Operator Precedence and Associativity
- Operator Table
- Null Operators
- Null-Coalescing Operator
- Null-Coalescing Assignment Operator
- Null-Conditional Operator
- Statements
- Declaration Statements
- Expression Statements
- Selection Statements
- Iteration Statements
- Jump Statements
- Namespaces
- File-Scoped Namespaces
- The using Directive
- The global using Directive
- using static
- Rules Within a Namespace
- Aliasing Types and Namespaces
- Classes
- Fields
- Constants
- Methods
- Instance Constructors
- Deconstructors
- Object Initializers
- The this Reference
- Properties
- Indexers
- Primary Constructors (C# 12)
- Static Constructors
- Static Classes
- Finalizers
- Partial Types and Methods
- The nameof Operator
- Inheritance
- Polymorphism
- Casting and Reference Conversions
- Virtual Function Members
- Abstract Classes and Abstract Members
- Hiding Inherited Members
- Sealing Functions and Classes
- The base Keyword
- Constructors and Inheritance
- Overloading and Resolution
- The object Type
- Boxing and Unboxing
- Static and Runtime Type Checking
- The GetType Method and typeof Operator
- Object Member Listing
- Equals, ReferenceEquals, and GetHashCode
- The ToString Method
- Structs
- Struct Construction Semantics
- readonly Structs and Functions
- Access Modifiers
- Friend Assemblies
- Accessibility Capping
- Interfaces
- Extending an Interface
- Explicit Interface Implementation
- Implementing Interface Members Virtually
- Reimplementing an Interface in a Subclass
- Default Interface Members
- Static Interface Members
- Enums
- Enum Conversions
- Flags Enums
- Enum Operators
- Nested Types
- Generics
- Generic Types
- Generic Methods
- Declaring Type Parameters
- typeof and Unbound Generic Types
- The default Generic Value
- Generic Constraints
- Subclassing Generic Types
- Self-Referencing Generic Declarations
- Static Data
- Covariance
- Contravariance
- Delegates
- Writing Plug-In Methods with Delegates
- Instance and Static Method Targets
- Multicast Delegates
- Generic Delegate Types
- The Func and Action Delegates
- Delegate Compatibility
- Events
- Standard Event Pattern
- Event Accessors
- Lambda Expressions
- Default Lambda Parameters (C# 12)
- Capturing Outer Variables
- Lambda Expressions Versus Local Methods
- Anonymous Methods
- try Statements and Exceptions
- The catch Clause
- The finally Block
- Throwing Exceptions
- Key Properties of System.Exception
- Enumeration and Iterators
- Enumeration
- Collection Initializers and Collection Expressions
- Iterators
- Iterator Semantics
- Composing Sequences
- Nullable Value Types
- Nullable&T& Struct
- Nullable Conversions
- Boxing/Unboxing Nullable Values
- Operator Lifting
- bool? with & and | Operators
- Nullable Types and Null Operators
- Nullable Reference Types
- Extension Methods
- Extension Method Chaining
- Ambiguity and Resolution
- Anonymous Types
- Tuples
- Naming Tuple Elements
- Deconstructing Tuples
- Records
- Defining a Record
- Nondestructive Mutation
- Primary Constructors
- Records and Equality Comparison
- Patterns
- var Pattern
- Constant Pattern
- Relational Patterns
- Pattern Combinators
- Tuple and Positional Patterns
- Property Patterns
- List Patterns
- LINQ
- LINQ Fundamentals
- Deferred Execution
- Standard Query Operators
- Chaining Query Operators
- Query Expressions
- The let Keyword
- Query Continuations
- Multiple Generators
- Joining
- Ordering
- Grouping
- OfType and Cast
- Dynamic Binding
- Static Binding Versus Dynamic Binding
- Custom Binding
- Language Binding
- RuntimeBinderException
- Runtime Representation of dynamic
- Dynamic Conversions
- var Versus dynamic
- Dynamic Expressions
- Dynamic Member Overload Resolution
- Uncallable Functions
- Operator Overloading
- Operator Functions
- Overloading Equality and Comparison Operators
- Custom Implicit and Explicit Conversions
- Attributes
- Attribute Classes
- Named and Positional Attribute Parameters
- Attribute Targets
- Specifying Multiple Attributes
- Writing Custom Attributes
- Retrieving Attributes at Runtime
- Caller Info Attributes
- CallerArgumentExpression
- Asynchronous Functions
- The await and async Keywords
- Capturing Local State
- Writing Asynchronous Functions
- Parallelism
- Asynchronous Lambda Expressions
- Asynchronous Streams
- Static Polymorphism
- Polymorphic Operators
- Generic Math
- Unsafe Code and Pointers
- Pointer Basics
- Unsafe Code
- The fixed Statement
- The Pointer-to-Member Operator
- The stackalloc Keyword
- Fixed-Size Buffers
- void*
- Function Pointers
- Preprocessor Directives
- Pragma Warning
- XML Documentation
- Standard XML Documentation Tags
- Index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.