The C# programming language
By: Anders Hejlsberg, Scott Wiltamuth, Peter Golde.
Contributors: Wiltamuth, Scott.; Golde, Peter.
Edition: 2nd ed.
Series: Microsoft .NET development series
Publisher: Addison-Wesley
Published: 2006
Place of publication: Upper Saddle River, NJ
Language: eng
Number of pages: 704
ISBN-13: 9780321334435
Subjects: C (Computer program language)
Other titles: C programming language; C sharp programming language
Description: C♯ is a simple, modern, object-oriented, and type-safe programming language that combines the high productivity of rapid application development languages with the raw power of C and C++. This book provides the complete specification of the language, along with descriptions, reference materials, and code samples from the C♯ design team.
Notes: Includes index.

"Revised and updated for C# 2.0"--Cover.
Table of contents: title: Preface
pagenum: xiii; label: Part I
title: C# 1.0
pagenum: 1; label: 1
title: Introduction
pagenum: 3; label: 1.1
title: Hello World
pagenum: 4; label: 1.2
title: Program Structure
pagenum: 5; label: 1.3
title: Types and Variables
pagenum: 7; label: 1.4
title: Expressions
pagenum: 11; label: 1.5
title: Statements
pagenum: 14; label: 1.6
title: Classes and Objects
pagenum: 18; label: 1.7
title: Structs
pagenum: 34; label: 1.8
title: Arrays
pagenum: 35; label: 1.9
title: Interfaces
pagenum: 37; label: 1.10
title: Enums
pagenum: 39; label: 1.11
title: Delegates
pagenum: 40; label: 1.12
title: Attributes
pagenum: 42; label: 2
title: Lexical Structure
pagenum: 45; label: 2.1
title: Programs
pagenum: 45; label: 2.2
title: Grammars
pagenum: 45; label: 2.3
title: Lexical Analysis
pagenum: 47; title: Tokens
pagenum: 51; label: 2.4
title: Preprocessing Directives
pagenum: 61; label: 3
title: Basic Concepts
pagenum: 73; label: 3.1
title: Application Startup
pagenum: 73; label: 3.2
title: Application Termination
pagenum: 74; label: 3.3
title: Declarations
pagenum: 75; label: 3.4
title: Members
pagenum: 77; label: 3.5
title: Member Access
pagenum: 79; label: 3.6
title: Signatures and Overloading
pagenum: 86; label: 3.7
title: Scopes
pagenum: 87; label: 3.8
title: Namespace and Type Names
pagenum: 93; label: 3.9
title: Automatic Memory Management
pagenum: 95; label: 3.10
title: Execution Order
pagenum: 99; label: 4
title: Types
pagenum: 101; label: 4.1
title: Value Types
pagenum: 101; label: 4.2
title: Reference Types
pagenum: 110; label: 4.3
title: Boxing and Unboxing
pagenum: 112; label: 5
title: Variables
pagenum: 115; label: 5.1
title: Variable Categories
pagenum: 115; label: 5.2
title: Default Values
pagenum: 119; label: 5.3
title: Definite Assignment
pagenum: 119; label: 5.4
title: Variable References
pagenum: 133; label: 5.5
title: Atomicity of Variable References
pagenum: 133; label: 6
title: Conversions
pagenum: 135; label: 6.1
title: Implicit Conversions
pagenum: 135; label: 6.2
title: Explicit Conversions
pagenum: 138; label: 6.3
title: Standard Conversions
pagenum: 142; label: 6.4
title: User-Defined Conversions
pagenum: 143; label: 7
title: Expressions
pagenum: 147; label: 7.1
title: Expression Classifications
pagenum: 147; label: 7.2
title: Operators
pagenum: 149; label: 7.3
title: Member Lookup
pagenum: 156; label: 7.4
title: Function Members
pagenum: 157; label: 7.5
title: Primary Expressions
pagenum: 170; label: 7.6
title: Unary Operators
pagenum: 193; label: 7.7
title: Arithmetic Operators
pagenum: 198; label: 7.8
title: Shift Operators
pagenum: 207; label: 7.9
title: Relational and Type-Testing Operators
pagenum: 209; label: 7.10
title: Logical Operators
pagenum: 216; label: 7.11
title: Conditional Logical Operators
pagenum: 218; label: 7.12
title: Conditional Operator
pagenum: 220; label: 7.13
title: Assignment Operators
pagenum: 221; label: 7.14
title: Expression
pagenum: 226; label: 7.15
title: Constant Expressions
pagenum: 226; label: 7.16
title: Boolean Expressions
pagenum: 228; label: 8
title: Statements
pagenum: 229; label: 8.1
title: End Points and Reachability
pagenum: 230; label: 8.2
title: Blocks
pagenum: 232; label: 8.3
title: The Empty Statement
pagenum: 233; label: 8.4
title: Labeled Statements
pagenum: 233; label: 8.5
title: Declaration Statements
pagenum: 234; label: 8.6
title: Expression Statements
pagenum: 236; label: 8.7
title: Selection Statements
pagenum: 237; label: 8.8
title: Iteration Statements
pagenum: 243; label: 8.9
title: Jump Statements
pagenum: 248; label: 8.10
title: The Try Statement
pagenum: 255; label: 8.11
title: The Checked and Unchecked Statements
pagenum: 258; label: 8.12
title: The Lock Statement
pagenum: 259; label: 8.13
title: The Using Statement
pagenum: 260; label: 9
title: Namespaces
pagenum: 263; label: 9.1
title: Compilation Units
pagenum: 263; label: 9.2
title: Namespace Declarations
pagenum: 264; label: 9.3
title: Using Directives
pagenum: 265; label: 9.4
title: Namespace Members
pagenum: 271; label: 9.5
title: Type Declarations
pagenum: 271; label: 10
title: Classes
pagenum: 273; label: 10.1
title: Class Declarations
pagenum: 273; label: 10.2
title: Class Members
pagenum: 277; label: 10.3
title: Constants
pagenum: 287; label: 10.4
title: Fields
pagenum: 290; label: 10.5
title: Methods
pagenum: 299; label: 10.6
title: Properties
pagenum: 317; label: 10.7
title: Events
pagenum: 327; label: 10.8
title: Indexers
pagenum: 333; label: 10.9
title: Operators
pagenum: 338; label: 10.10
title: Instance Constructors
pagenum: 343; label: 10.11
title: Static Constructors
pagenum: 349; label: 10.12
title: Destructors
pagenum: 352; label: 11
title: Structs
pagenum: 355; label: 11.1
title: Struct Declarations
pagenum: 355; label: 11.2
title: Struct Members
pagenum: 356; label: 11.3
title: Class and Struct Differences
pagenum: 357; label: 11.4
title: Struct Examples
pagenum: 363; label: 12
title: Arrays
pagenum: 367; label: 12.1
title: Array Types
pagenum: 367; label: 12.2
title: Array Creation
pagenum: 369; label: 12.3
title: Array Element Access
pagenum: 369; label: 12.4
title: Array Members
pagenum: 369; label: 12.5
title: Array Covariance
pagenum: 369; label: 12.6
title: Array Initializers
pagenum: 370; label: 13
title: Interfaces
pagenum: 373; label: 13.1
title: Interface Declarations
pagenum: 373; label: 13.2
title: Interface Members
pagenum: 375; label: 13.3
title: Fully Qualified Interface Member Names
pagenum: 380; label: 13.4
title: Interface Implementations
pagenum: 380; label: 14
title: Enums
pagenum: 393; label: 14.1
title: Enum Declarations
pagenum: 393; label: 14.2
title: Enum Modifiers
pagenum: 394; label: 14.3
title: Enum Members
pagenum: 394; label: 14.4
title: The System.Enum Type
pagenum: 397; label: 14.5
title: Enum Values and Operations
pagenum: 397; label: 15
title: Delegates
pagenum: 399; label: 15.1
title: Delegate Declarations
pagenum: 399; label: 15.2
title: Delegate Instantiation
pagenum: 402; label: 15.3
title: Delegate Invocation
pagenum: 403; label: 16
title: Exceptions
pagenum: 407; label: 16.1
title: Causes of Exceptions
pagenum: 407; label: 16.2
title: The System.Exception Class
pagenum: 408; label: 16.3
title: How Exceptions Are Handled
pagenum: 408; label: 16.4
title: Common Exception Classes
pagenum: 409; label: 17
title: Attributes
pagenum: 411; label: 17.1
title: Attribute Classes
pagenum: 411; label: 17.2
title: Attribute Specification
pagenum: 414; label: 17.3
title: Attribute Instances
pagenum: 420; label: 17.4
title: Reserved Attributes
pagenum: 422; label: 17.5
title: Attributes for Interoperation
pagenum: 428; label: 18
title: Unsafe Code
pagenum: 429; label: 18.1
title: Unsafe Contexts
pagenum: 429; label: 18.2
title: Pointer Types
pagenum: 433; label: 18.3
title: Fixed and Moveable Variables
pagenum: 436; label: 18.4
title: Pointer Conversions
pagenum: 437; label: 18.5
title: Pointers in Expressions
pagenum: 438; label: 18.6
title: The Fixed Statement
pagenum: 446; label: 18.7
title: Stack Allocation
pagenum: 450; label: 18.8
title: Dynamic Memory Allocation
pagenum: 451; label: Part II
title: C# 2.0
pagenum: 455; label: 19
title: Introduction to C# 2.0
pagenum: 457; label: 19.1
title: Generics
pagenum: 458; label: 19.2
title: Anonymous Methods
pagenum: 463; label: 19.3
title: Iterators
pagenum: 467; label: 19.4
title: Partial Types
pagenum: 471; label: 19.5
title: Nullable Types
pagenum: 472; label: 20
title: Generics
pagenum: 477; label: 20.1
title: Generic Class Declarations
pagenum: 477; label: 20.2
title: Generic Struct Declarations
pagenum: 488; label: 20.3
title: Generic Interface Declarations
pagenum: 488; label: 20.4
title: Generic Delegate Declarations
pagenum: 490; label: 20.5
title: Constructed Types
pagenum: 491; label: 20.6
title: Generic Methods
pagenum: 498; label: 20.7
title: Constraints
pagenum: 506; label: 20.8
title: Expressions and Statements
pagenum: 517; label: 20.9
title: Revised Lookup Rules
pagenum: 521; label: 20.10
title: Right-Shift Grammar Changes
pagenum: 533; label: 21
title: Anonymous Methods
pagenum: 535; label: 21.1
title: Anonymous Method Expressions
pagenum: 535; label: 21.2
title: Anonymous Method Signatures
pagenum: 535; label: 21.3
title: Anonymous Method Conversions
pagenum: 536; label: 21.4
title: Anonymous Method Blocks
pagenum: 537; label: 21.5
title: Outer Variables
pagenum: 538; label: 21.6
title: Anonymous Method Evaluation
pagenum: 541; label: 21.7
title: Delegate Instance Equality
pagenum: 542; label: 21.8
title: Definite Assignment
pagenum: 543; label: 21.9
title: Method Group Conversions
pagenum: 544; label: 21.10
title: Delegate Creation Expressions
pagenum: 546; label: 21.11
title: Implementation Example
pagenum: 546; label: 22
title: Iterators
pagenum: 551; label: 22.1
title: Iterator Blocks
pagenum: 551; label: 22.2
title: Enumerator Objects
pagenum: 552; label: 22.3
title: Enumerable Objects
pagenum: 555; label: 22.4
title: The Yield Statement
pagenum: 556; label: 22.5
title: Implementation Example
pagenum: 558; label: 23
title: Partial Types
pagenum: 567; label: 23.1
title: Partial Declarations
pagenum: 567; label: 23.2
title: Name Binding
pagenum: 571; label: 24
title: Nullable Types
pagenum: 573; label: 24.1
title: Nullable Types
pagenum: 573; label: 24.2
title: Conversions
pagenum: 574; label: 24.3
title: Expressions
pagenum: 580; label: 25
title: Other Features
pagenum: 587; label: 25.1
title: Property Accessor Accessibility
pagenum: 587; label: 25.2
title: Static Classes
pagenum: 590; label: 25.3
title: Namespace Alias Qualifiers
pagenum: 592; label: 25.4
title: Extern Aliases
pagenum: 596; label: 25.5
title: Pragma Directives
pagenum: 600; label: 25.6
title: Default Value Expression
pagenum: 601; label: 25.7
title: Conditional Attribute Classes
pagenum: 602; label: 25.8
title: Fixed Size Buffers
pagenum: 603; label: Part III
title: Appendixes
pagenum: 609; label: A
title: Documentation Comments
pagenum: 611; label: A.1
title: Introduction
pagenum: 611; label: A.2
title: Recommended Tags
pagenum: 613; label: A.3
title: Processing the Documentation File
pagenum: 623; label: A.4
title: An Example
pagenum: 629; label: B
title: Grammar
pagenum: 635; label: B.1
title: Lexical Grammar
pagenum: 635; label: B.2
title: Syntactic Grammar
pagenum: 644; label: B.3
title: Grammar Extensions for Unsafe Code
pagenum: 671; title: Index
pagenum: 675