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 and Solutions 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. Summary. Review Questions. Programming Exercises.
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. Programming Exercises.
Appendix A: Answers to Quizzes and Exercises.
Index