• Table of Contents
  • index_A
  • index_B
  • index_C
  • index_D
  • index_E
  • index_F
  • index_G
  • index_H
  • index_I
  • index_J
  • index_K
  • index_L
  • index_M
  • index_N
  • index_O
  • index_P
  • index_Q
  • index_R
  • index_S
  • index_SYMBOL
  • index_T
  • index_U
  • index_V
  • index_W
  • index_X
  • Afterword
  • Chapter 1. C# and .NET Programming
  • Chapter 10. Basic Debugging
  • 10.1 Setting a Breakpoint
  • 10.2 The Call Stack
  • Chapter 11. Inheritance and Polymorphism
  • 11.1 Specialization and Generalization
  • 11.2 Inheritance
  • 11.3 Polymorphism
  • 11.4 Abstract Classes
  • 11.5 Sealed Classes
  • 11.6 The Root of All Classes: Object
  • 11.7 Boxing and Unboxing Types
  • Chapter 12. Operator Overloading
  • 12.1 Using the operator Keyword
  • 12.2 Creating Useful Operators
  • 12.3 Logical Pairs
  • 12.4 Conversion Operators
  • Chapter 13. Structs
  • 13.1 Defining a Struct
  • Chapter 14. Interfaces
  • 14.1 Implementing an Interface
  • 14.2 Implementing More Than One Interface
  • 14.3 Casting to an Interface
  • 14.4 Extending Interfaces
  • 14.5 Combining Interfaces
  • 14.6 Overriding Interface Implementations
  • 14.7 Explicit Interface Implementation
  • Chapter 15. Arrays
  • 15.1 Arrays
  • 15.2 Multidimensional Arrays
  • 15.3 System.Array
  • 15.4 Indexers
  • Chapter 16. Collection Interfaces and Types
  • 16.1 The Collection Interfaces
  • 16.2 Array Lists
  • 16.3 Queues
  • 16.4 Stacks
  • 16.5 Copying from a Collection Type to an Array
  • Chapter 17. Strings
  • 17.1 Creating Strings
  • 17.2 Manipulating Strings
  • 17.3 Regular Expressions
  • 17.4 The Regex Class
  • Chapter 18. Throwing and Catching Exceptions
  • 18.1 Throwing Exceptions
  • 18.2 Searching for an Exception Handler
  • 18.3 The throw Statement
  • 18.4 The try and catch Statements
  • 18.5 How the Call Stack Works
  • 18.6 Creating Dedicated catch Statements
  • 18.7 The finally Statement
  • 18.8 Exception Class Methods and Properties
  • 18.9 Custom Exceptions
  • Chapter 19. Delegates and Events
  • 19.1 Delegates
  • 19.2 Multicasting
  • 19.3 Events
  • 1.1 C# and .NET
  • 1.2 The .NET Platform
  • 1.3 The .NET Framework
  • 1.4 The C# Language
  • 1.5 The Structure of C# Applications
  • 1.6 The Development Environment
  • Chapter 2. Getting Started with C#
  • Where to Go from Here
  • Advanced Topics in C#
  • Web (ASP.NET) Programming
  • Windows Forms Programming
  • Other Resources
  • 2.1 What's in a Program?
  • 2.2 Your First Program: Hello World
  • 2.3 Examining Your First Program
  • Chapter 3. Object-Oriented Programming
  • 3.1 Creating Models
  • 3.2 Classes and Objects
  • 3.3 Defining a Class
  • 3.4 Class Relationships
  • 3.5 The Three Pillars of Object-Oriented Programming
  • 3.6 Encapsulation
  • 3.7 Specialization
  • 3.8 Polymorphism
  • 3.9 Object-Oriented Analysis and Design
  • Chapter 4. Visual Studio .NET
  • 4.1 Start Page
  • 4.2 Inside the Integrated Development Environment (IDE)
  • 4.3 IntelliSense
  • 4.4 Building and Running
  • 4.5 For More Information
  • Chapter 5. C# Language Fundamentals
  • 5.1 Types
  • 5.2 Variables
  • 5.3 Definite Assignment
  • 5.4 Constants
  • 5.5 Strings
  • 5.6 Statements
  • 5.7 Expressions
  • 5.8 Whitespace
  • Chapter 6. Branching
  • 6.1 Unconditional Branching Statements
  • 6.2 Conditional Branching Statements
  • 6.3 Iteration (Looping) Statements
  • Chapter 7. Operators
  • 7.1 The Assignment Operator (=)
  • 7.2 Mathematical Operators
  • 7.3 Increment and Decrement Operators
  • 7.4 Relational Operators
  • Chapter 8. Classes and Objects
  • 8.1 Defining Classes
  • 8.2 Method Arguments
  • 8.3 Constructors
  • 8.4 Initializers
  • 8.5 Copy Constructors
  • 8.6 The this Keyword
  • 8.7 Static and Instance Members
  • 8.8 Destroying Objects
  • Chapter 9. Inside Methods
  • 9.1 Overloading Methods
  • 9.2 Encapsulating Data with Properties
  • 9.3 Returning Multiple Values
  • C# Keywords
  • Preface
  • About This Book
  • Who This Book Is For
  • How the Book Is Organized
  • Conventions Used in This Book
  • Support
  • We'd Like to Hear from You
  • Acknowledgments
  • Learning C#

    This site introduces C# specifically, and the .NET development platform more generally, to programmers with little or no object-oriented programming experience. Along the way, you soon will know about how to write high-quality, industrial-strength programs for .NET.

    This introduction will show you the way C# fits into the .NET picture, what you can do with the language, and what benefits this language has over its predecessors.

    You will also learn lots of the concepts integral to object-oriented programming, which has revolutionized how web and Windows applications are developed. Object-oriented programming is closely tied to the semantics of the C# language, that is, the meaning behind the code you write. Obviously, you need to have a basic understanding of the syntax of the C# language, but you also need to understand what you are actually trying to accomplish.

    that   class   method   this   public   object   example   arrays    with   Strings   value   type   statement   Programming   nd    returns   interfaces    your   methods   void   operator   Chapter   from   namespace   create   objects   window    types   exception   Classes   will   static   firstin