C# Primer Plus teaches the C# programming language and
relevant parts of the .NET platform from the ground up,
walking you through the basics of object-oriented
programming, important programming techniques and problem
solving while providing a thorough coverage of C#'s
essential elements - such as classes, objects, data types,
loops, branching statements, arrays, and namespaces.
In early chapters guided tours take you sightseeing to
the main attractions of C# and provide a fast learning-path
that enables you to quickly write simple C# programs. Your
initial programming skills are then gradually expanded,
through the many examples, case studies, illustrations,
review questions and programming exercises, to include
powerful concepts - like inheritance, polymorphism,
interfaces and exception handling, along with C#'s most
innovative features - such as properties, indexers,
delegates and events.
With C# Primer Plus's dual emphasis on C# as well as
fundamental programming techniques, this friendly tutorial
will soon make you a proficient C# programmer building
Windows applications on the .NET platform.
Table of Contents
Introduction.
1. Computers and Computer Programming: Basic
Concepts.
C# Is an Object-Oriented
Programming Language. Hardware. Software. Summary. Review
Questions.
2. Your First C# Program. Software Development. The
Software Development Process. Algorithms and Pseudocode.
The Three Different Types of Errors. Object-Oriented
Programming: A First Encounter. Software Reuse. The
Assembly, the Basic Unit of Code Reuse in .NET. The .NET
Framework Class Library. C#: History and Design Goals. C#'s
Background. C#'s Design Goals. What Kind of Programs Can I
Write with C#? The Mechanics of Creating a C# Program.
Before Getting Started. Choosing a Text Editor. The Seven
Steps to Writing a Simple C# Program. A Brief Source Code
Analysis. Note on Syntax Errors and Compilers. Summary.
Review Questions. Programming Exercises.
3. A Guided Tour through C#: Part I. Introduction. Abstraction
and Encapsulation. An Interactive Hello World! Program.
Summary. Review Questions. Programming Exercises.
4. A Guided Tour through C#: Part II. Introduction. Essential
Elements of SimpleCalculator.cs. Simplifying Your Code with
Methods. Methods as Building Blocks: Encapsulating Your
Helper Methods with the private keyword. Summary. Review
Questions. Programming Exercises.
5. Your First Object-Oriented C# Program. Introduction. Lexical
Structure. Some Thoughts on Elevator Simulations. Concepts,
Goals andSolutions in an Elevator Simulation Program:
Collecting Valuable Statistics for Evaluating an Elevator
System. Object-Oriented Programming: A Practical Example.
Summary. Review Questions. Programming Exercises.
6. Types Part I: The Simple Types. Introduction. Types in C#:
An Overview. Simple Types. The Blipos Clock.
7. Types Part II: Operators, Enumerators, and
Strings. Introduction. Arithmetic
Operators and Numerical Expressions. Associativity.
Parentheses and Precedence. The Modulus Operator (%). Unary
Operators. Determining the Type of an Expression. Combining
Different Types in One Expression. Accessing the Metadata
of a Component: A Brief Introduction. Enumerated Constants.
Enumerator Operators. Conversions. The Methods of
System.Enum. Characters and Text. The char Type. The string
type. Summary. Review Questions. Programming
Exercises.
8. Flow of Control Part I: Branching Statements and
Related Concepts. Introduction to Flow of
Control. Branching with the if Statement. Comparison
Operators and Boolean Expressions. Nested if Statements.
Multibranch if-else Statements. Logical Operators. The
Scope of Variables. The goto Statement. The switch
Statement. The Conditional Operator. Summary. Review
Questions. Programming Exercises.
9. Flow of Control Part II: Iteration Statements.
Traversing, Analyzing, and
Generating Sequences of Data. The while Loop Statement. The
do-while Loop Statement. The for Loop Statement. The Jump
Statements break and continue. Structured Programming and
Structured Constructs. Combination Assignment Operators.
Nested Iteration Statements. Programming Exercises.
Summary. Review Questions. Programming Exercises.
10. Arrays Part I: Array Essentials. Declaring and Defining an
Array. Accessing Individual Array Elements. Array Indexes
Out of Range. Adjusting for the Zero-Based Array Index.
Initializing Arrays. Traversing an Entire Array with the
foreach Statement. System.Array Is a Reference Type. Arrays
and Equality. Arrays and Methods. A Method to Perform Array
Value Equality Comparisons. Command Line Arguments. Using
Arrays As Return Values from Methods. Array Elements
Referencing Objects. Arrays As Instance Variables in
Classes. Summary. Review Questions. Programming
Exercises.
11. Arrays Part II: Multidimensional Arrays—
Searching and Sorting Arrays. Multidimensional Arrays.
Arrays of More Than Two Dimensions. The Built-In Methods of
System.Array. Special Array Techniques. Searching. Summary.
Review Questions. Programming Exercises.
12. Class Anatomy Part I: static Class Members and
Method Adventures. The Anatomy of a Class:
Overview. Data Members. Function Members. Summary. Review
Questions. Programming Exercises.
13. Class Anatomy Part II: Object Creation and Garbage
Collection. Instance Constructors.
static Constructors. The readonly Member. Garbage
Collection: Automatic Dynamic Memory Management. Summary.
Review Questions. Programming Exercises.
14. Class Anatomy Part III: Writing Intuitive Code.
Properties. Indexers:
Using Objects Like Arrays. Operator Overloading.
User-Defined Implicit and Explicit Conversions. Nested
Types. Summary. Review Questions. Programming
Exercises.
15. Namespaces, Compilation Units, and Assemblies.
Defining Your Own
Namespaces. The Global Nameless Namespace. Namespaces and
Compilation Units. Nested Namespaces. Namespace Syntax.
More About the using Directive. Compile Units, Namespaces,
and Assemblies. Exploring Assemblies with the Ildasm
Utility. Summary. Review Questions. Programming
Exercises.
16. Inheritance Part I: Basic Concepts. The Need for Inheritance.
Inheritance Fundamentals. Access Modifiers and Inheritance.
Derived Class Constructors. Indexers Are Also Inherited and
Can Be Overridden. Calling an Overridden Function in the
Base Class. Reusing the .NET Framework Class Library with
Inheritance. Multiple Levels of Derived Classes. Method
Overriding and Overloading Are Different Mechanisms.
Summary. Review Questions. Programming Exercises.
17. Inheritance Part II: abstract Functions,
Polymorphism, and Interfaces. abstract Methods,
Properties, Indexers, and Classes. Polymorphism. Losing and
Regaining Type Information. System.Object: The Ultimate
Base Class. Summary. Review Questions. Programming
Exercises.
18. Structs. Defining a Struct. Boxing
and Unboxing. Creating Structs with and without new. Value
Types and Reference Types. Summary. Review Questions.
Programming Exercises.
19. Exception Handling. Exception Handling: A
Brief Overview. Life without try-catch-finally. The try and
catch blocks. Catching the Exception Object Farther up the
Function Call Chain. Multiple catch Blocks. The finally
Block. Nested try Block. throw: Explicitly Throwing
Exceptions. Writing Custom Exceptions. Summary. Review
Questions. Programming Exercises.
20. Delegates and Events. Delegates. Events.
Summary. Review Questions. Programming Exercises.
21. Preprocessing, XML Documentation, and
Attributes. Preprocessor Directives.
XML Documentation. Attributes. Summary. Review Questions.
Programming Exercises.
22. File I/O Basics. The Need for Files. Stream
Basics and File I/O. File I/O Classes: An Overview. The
FileInfo Class. Text File Input and Output with
StreamReader and StreamWriter. Binary Input and Output with
the FileStream Class. Summary. Review Questions.
Programming Exercises.
23. Recursion Fundamentals. Pending Method Instances
of Different Methods. Pending Method Instances of the Same
Method. Putting Recursion to Work: Calculating n Factorial.
Recursion and Iteration. Binary Search Using Recursion.
Summary. Review Questions.
Appendix A: Answers to Quizzes and Exercises.