You are previewing C# 6.0 Pocket Reference.
O'Reilly logo
C# 6.0 Pocket Reference

Book Description

When you need answers for programming with C# 6.0, this practical and tightly focused book tells you exactly what you need to know—without long introductions or bloated samples. Easy to browse, it’s ideal as a quick reference or as a guide to get you rapidly up to speed if you already know Java, C++, or an earlier version of C#.

Table of Contents

  1. 1. C# 6.0 Pocket Reference
    1. Conventions Used in This Book
    2. Using Code Examples
    3. Safari® Books Online
    4. How to Contact Us
    5. A First C# Program
      1. Compilation
    6. Syntax
      1. Identifiers and Keywords
      2. Literals, Punctuators, and Operators
      3. Comments
    7. Type Basics
      1. Predefined Type Examples
      2. Custom Type Examples
      3. Conversions
      4. Value Types Versus Reference Types
      5. Predefined Type Taxonomy
    8. Numeric Types
      1. Numeric Literals
      2. Numeric Conversions
      3. Arithmetic Operators
      4. Increment and Decrement Operators
      5. Specialized Integral Operations
      6. 8- and 16-Bit Integrals
      7. Special Float and Double Values
      8. double Versus decimal
      9. Real Number Rounding Errors
    9. Boolean Type and Operators
      1. Equality and Comparison Operators
      2. Conditional Operators
    10. Strings and Characters
      1. String Type
    11. Arrays
      1. Default Element Initialization
      2. Multidimensional Arrays
      3. Simplified Array Initialization Expressions
    12. Variables and Parameters
      1. The Stack and the Heap
      2. Definite Assignment
      3. Default Values
      4. Parameters
      5. var—Implicitly Typed Local Variables
    13. Expressions and Operators
      1. Assignment Expressions
      2. Operator Precedence and Associativity
      3. Operator Table
    14. Null Operators
      1. Null Coalescing Operator
      2. Null-Conditional Operator (C# 6)
    15. Statements
      1. Declaration Statements
      2. Expression Statements
      3. Selection Statements
      4. Iteration Statements
      5. Jump Statements
    16. Namespaces
      1. The using Directive
      2. using static (C# 6)
      3. Rules Within a Namespace
      4. Aliasing Types and Namespaces
    17. Classes
      1. Fields
      2. Methods
      3. Instance Constructors
      4. Object Initializers
      5. The this Reference
      6. Properties
      7. Indexers
      8. Constants
      9. Static Constructors
      10. Static Classes
      11. Finalizers
      12. Partial Types and Methods
      13. The nameof Operator (C# 6)
    18. Inheritance
      1. Polymorphism
      2. Casting and Reference Conversions
      3. Virtual Function Members
      4. Abstract Classes and Abstract Members
      5. Hiding Inherited Members
      6. Sealing Functions and Classes
      7. The base Keyword
      8. Constructors and Inheritance
      9. Overloading and Resolution
    19. The object Type
      1. Boxing and Unboxing
      2. Static and Runtime Type Checking
      3. The GetType Method and typeof Operator
      4. Object Member Listing
      5. Equals, ReferenceEquals, and GetHashCode
      6. The ToString Method
    20. Structs
      1. Struct Construction Semantics
    21. Access Modifiers
      1. Friend Assemblies
      2. Accessibility Capping
    22. Interfaces
      1. Extending an Interface
      2. Explicit Interface Implementation
      3. Implementing Interface Members Virtually
      4. Reimplementing an Interface in a Subclass
    23. Enums
      1. Enum Conversions
      2. Flags Enums
      3. Enum Operators
    24. Nested Types
    25. Generics
      1. Generic Types
      2. Generic Methods
      3. Declaring Type Parameters
      4. typeof and Unbound Generic Types
      5. The default Generic Value
      6. Generic Constraints
      7. Subclassing Generic Types
      8. Self-Referencing Generic Declarations
      9. Static Data
      10. Covariance
      11. Contravariance
    26. Delegates
      1. Writing Plug-in Methods with Delegates
      2. Multicast Delegates
      3. Instance Versus Static Method Targets
      4. Generic Delegate Types
      5. The Func and Action Delegates
      6. Delegate Compatibility
    27. Events
      1. Standard Event Pattern
      2. Event Accessors
    28. Lambda Expressions
      1. Capturing Outer Variables
    29. Anonymous Methods
    30. try Statements and Exceptions
      1. The catch Clause
      2. The finally Block
      3. Throwing Exceptions
      4. Key Properties of System.Exception
      5. Common Exception Types
    31. Enumeration and Iterators
      1. Enumeration
      2. Collection Initializers
      3. Iterators
      4. Iterator Semantics
      5. Composing Sequences
    32. Nullable Types
      1. Nullable<T> Struct
      2. Nullable Conversions
      3. Boxing/Unboxing Nullable Values
      4. Operator Lifting
      5. bool? with & and | Operators
      6. Nullable Types and Null Operators
    33. Operator Overloading
      1. Operator Functions
      2. Overloading Equality and Comparison Operators
      3. Custom Implicit and Explicit Conversions
    34. Extension Methods
      1. Extension Method Chaining
      2. Ambiguity and Resolution
    35. Anonymous Types
    36. LINQ
      1. LINQ Fundamentals
      2. Deferred Execution
      3. Standard Query Operators
      4. Chaining Query Operators
      5. Query Expressions
      6. The let Keyword
      7. Query Continuations
      8. Multiple Generators
      9. Joining
      10. Ordering
      11. Grouping
      12. OfType and Cast
    37. Dynamic Binding
      1. Static Binding Versus Dynamic Binding
      2. Custom Binding
      3. Language Binding
      4. RuntimeBinderException
      5. Runtime Representation of dynamic
      6. Dynamic Conversions
      7. var Versus dynamic
      8. Dynamic Expressions
      9. Dynamic Member Overload Resolution
      10. Uncallable Functions
    38. Attributes
      1. Attribute Classes
      2. Named and Positional Attribute Parameters
      3. Attribute Targets
      4. Specifying Multiple Attributes
      5. Writing Custom Attributes
      6. Retrieving Attributes at Runtime
    39. Caller Info Attributes
    40. Asynchronous Functions
      1. The await and async Keywords
      2. Capturing Local State
      3. Writing Asynchronous Functions
      4. Parallelism
      5. Asynchronous Lambda Expressions
    41. Unsafe Code and Pointers
      1. Pointer Basics
      2. Unsafe Code
      3. The fixed Statement
      4. The Pointer-to-Member Operator
      5. Arrays
      6. void*
    42. Preprocessor Directives
      1. Pragma Warning
    43. XML Documentation
      1. Standard XML Documentation Tags
  2. Index