C# 2.0 : the complete reference /

Saved in:
Bibliographic Details
Author / Creator:Schildt, Herbert.
Edition:2nd ed.
Imprint:New York : McGraw-Hill/Osborne, c2006.
Description:xxi, 890 p. : ill. ; 24 cm.
Language:English
Subject:
Format: Print Book
URL for this record:http://pi.lib.uchicago.edu/1001/cat/bib/6239877
Hidden Bibliographic Details
Varying Form of Title:C sharp 2.0 : the complete reference
ISBN:0072262095 (pbk.)
Notes:Includes index.
Table of Contents:
  • Preface
  • Part I. The C# Language
  • 1. The Creation of C#
  • C#'s Family Tree
  • How C# Relates to the .NET Framework
  • How the Common Language Runtime Works
  • Managed vs. Unmanaged Code
  • 2. An Overview of C#
  • Object-Oriented Programming
  • A First Simple Program
  • Handling Syntax Errors
  • A Small Variation
  • A Second Simple Program
  • Another Data Type
  • Two Control Statements
  • Using Blocks of Code
  • Semicolons, Positioning, and Indentation
  • The C# Keywords
  • Identifiers
  • The C# Class Library
  • 3. Data Types, Literals, and Variables
  • Why Data Types Are Important
  • C#'s Value Types
  • Integers
  • Floating-Point Types
  • The decimal Type
  • Characters
  • The bool Type
  • Some Output Options
  • Literals
  • A Closer Look at Variables
  • The Scope and Lifetime of Variables
  • Type Conversion and Casting
  • Type Conversion in Expressions
  • 4. Operators
  • Arithmetic Operators
  • Relational and Logical Operators
  • The Assignment Operator
  • The Bitwise Operators
  • The ? Operator
  • Spacing and Parentheses
  • Operator Precedence
  • 5. Program Control Statements
  • The if Statement
  • The switch Statement
  • The for Loop
  • The while Loop
  • The do-while Loop
  • The foreach Loop
  • Using break to Exit a Loop
  • Using continue
  • The goto
  • 6. Introducing Classes and Objects
  • Class Fundamentals
  • How Objects Are Created
  • Reference Variables and Assignment
  • Methods
  • Constructors
  • The new Operator Revisited
  • Garbage Collection and Destructors
  • The this Keyword
  • 7. Arrays and Strings
  • Arrays
  • Multidimensional Arrays
  • Jagged Arrays
  • Assigning Array References
  • Using the Length Property
  • The foreach Loop
  • Strings
  • 8. A Closer Look at Methods and Classes
  • Controlling Access to Class Members
  • Pass References to Methods
  • Using ref and out Parameters
  • Using a Variable Number of Arguments
  • Returning Objects
  • Method Overloading
  • Overloading Constructors
  • The Main() Method
  • Recursion
  • Understanding static
  • Static Classes
  • 9. Operator Overloading
  • Operator Overloading Fundamentals
  • Handling Operations on C# Built-In Types
  • Overloading the Relational Operators
  • Overloading true and false
  • Overloading the Logical Operators
  • Conversion Operators
  • Operator Overloading Tips and Restrictions
  • Another Example of Operator Overloading
  • 10. Indexers and Properties
  • Indexers
  • Properties
  • Using Access Modifiers with Accessors
  • Using Indexers and Properties
  • 11. Inheritance
  • Inheritance Basics
  • Member Access and Inheritance
  • Constructors and Inheritance
  • Inheritance and Name Hiding
  • Creating a Multilevel Hierarchy
  • When Are Constructors Called?
  • Base Class References and Derived Objects
  • Virtual Methods and Overriding
  • Using Abstract Classes
  • Using sealed to Prevent Inheritance
  • The object Class
  • 12. Interfaces, Structures, and Enumerations
  • Interfaces
  • Using Interface References
  • Interface Properties
  • Interface Indexers
  • Interfaces Can Be Inherited
  • Name Hiding with Interface Inheritance
  • Explicit Implementations
  • Choosing Between an Interface and an Abstract Class
  • The .NET Standard Interfaces
  • An Interface Case Study
  • Structures
  • Enumerations
  • 13. Exception Handling
  • The System.Exception Class
  • Exception Handling Fundamentals
  • The Consequences of an Uncaught Exception
  • Exceptions Let You Handle Errors Gracefully
  • Using Multiple catch Statements
  • Catching All Exceptions
  • Nesting try Blocks
  • Throwing an Exception
  • Using finally
  • A Closer Look at Exception
  • Deriving Exception Classes
  • Catching Derived Class Exceptions
  • Using checked and unchecked
  • 14. Using I/O
  • C#'s I/O Is Built Upon Streams
  • The Stream Classes
  • Console I/O
  • FileStream and Byte-Oriented File I/O
  • Character-Based File I/O
  • Redirecting the Standard Streams
  • Reading and Writing Binary Data
  • Random Access Files
  • Using MemoryStream
  • Using StringReader and StringWriter
  • Converting Numeric Strings to Their Internal Representation
  • 15. Delegates and Events
  • Delegates
  • Events
  • .NET Event Guidelines
  • Using Anonymous Methods with Events
  • Applying Events: A Case Study
  • 16. Namespaces, the Preprocessor, and Assemblies
  • Namespaces
  • The Preprocessor
  • Assemblies and the internal Access Modifier
  • 17. Runtime Type ID, Reflection, and Attributes
  • Runtime Type Identification
  • Reflection
  • Using Reflection
  • Attributes
  • Three Built-in Attributes
  • 18. Generics
  • What Are Generics?
  • A Simple Generics Example
  • A Generic Class with Two Type Parameters
  • The General Form of a Generic Class
  • Constrained Types
  • Creating a Default Object of a Type Parameter
  • Generic Structures
  • Creating a Generic Method
  • Generic Delegates
  • Generic Interfaces
  • Comparing Instances of a Type Parameter
  • Generic Class Hierarchies
  • Overriding Virtual Methods in a Generic Class
  • Overloading Methods That Use Type Parameters
  • How Generic Types Are Instantiated
  • Some Generic Restrictions
  • Final Thoughts on Generics
  • 19. Unsafe Code, Pointers, Nullable Types, and Miscellaneous Topics
  • Unsafe Code
  • Nullable Types
  • Partial Class Definitions
  • Friend Assemblies
  • Miscellaneous Keywords
  • Part II. Exploring the C# Library
  • 20. Exploring the System Namespace
  • The Members of System
  • The Math Class
  • The .NET Structures Corresponding to the Built-in Value Types
  • The Array Class
  • BitConverter
  • Generating Random Numbers with Random
  • Memory Management and the GC Class
  • Object
  • The IComparable and IComparable Interfaces
  • The IConvertible Interface
  • The ICloneable Interface
  • IFormatProvider and IFormattable
  • The IEquatable Interface
  • 21. Strings and Formatting
  • Strings in C#
  • The String Class
  • Formatting
  • Using String.Format() and ToString() to Format Data
  • Creating a Custom Numeric Format
  • Formatting Date and Time
  • Formatting Enumerations
  • 22. Multithreaded Programming
  • Multithreading Fundamentals
  • The Thread Class
  • Determining When a Thread Ends
  • Pass an Argument to a Thread
  • The IsBackground Property
  • Thread Priorities
  • Synchronization
  • Thread Communication Using Wait(), Pulse(), and PulseAll()
  • Using MethodImplAttribute
  • Using a Mutex and a Semaphore
  • Using an Event Synchronization Object
  • The Interlocked Class
  • Terminating a Thread
  • Suspending and Resuming a Thread
  • Determining a Thread's State
  • Using the Main Thread
  • Multithreading Tips
  • Starting a Separate Task
  • 23. Collections, Enumerators, and Iterators
  • Collections Overview
  • The Non-Generic Collections
  • Storing Bits with BitArray
  • The Specialized Collections
  • The Generic Collections
  • Storing User-Defined Classes in Collections
  • Implementing IComparable
  • Using an IComparer
  • Accessing a Collection via an Enumerator
  • Implementing IEnumerable and IEnumerator
  • Using Iterators
  • 24. Networking Through the Internet
  • The System.Net Members
  • Uniform Resource Identifiers
  • Internet Access Fundamentals
  • Handling Network Errors
  • The Uri Class
  • Accessing Additional HTTP Response Information
  • MiniCrawler: A Case Study
  • Using WebClient
  • Part III. Applying C#
  • 25. Building Components
  • What Is a Component?
  • What Is a C# Component?
  • IComponent
  • Component
  • A Simple Component
  • Overriding Dispose(bool)
  • Employing the using Statement
  • Containers
  • Are Components the Future of Programming?
  • 26. Creating Form-Based Windows Applications
  • A Brief History of Windows Programming
  • Two Ways to Write a Form-Based Windows Application
  • How Windows Interacts with the User
  • Windows Forms
  • A Skeletal Form-Based Windows Program
  • Adding a Button
  • Handling Messages
  • Using a Message Box
  • Adding a Menu
  • What Next?
  • 27. A Recursive-Descent Expression Parser
  • Expressions
  • Parsing Expressions: The Problem
  • Parsing an Expression
  • Dissecting an Expression
  • A Simple Expression Parser
  • Adding Variables to the Parser
  • Syntax Checking in a Recursive-Descent Parser
  • Some Things to Try
  • A. XML Comment Quick Reference
  • The XML Comment Tags
  • Compiling XML Documentation
  • An XML Documentation Example
  • Index