(NOTE: Each chapter concludes with a Summary, Q&A, and Workshop
WEEK 1. AT A GLANCE.
Day 1. Getting Started with C#.
What Is C#? Why C#? C# Versus Other Programming Languages. Preparing to Program. The Program Development Cycle. Your First C# Program. Types of C# Programs.
Day 2. Understanding C# Programs.
C# Applications. Basic Parts of a C# Application. Structure of a C# Application. Analysis of Listing 2.1. Object-Oriented Programming (OOP). Displaying Basic Information.
Day 3. Storing Information with Variables.
Variables. Using Variables. Understanding Your Computer's Memory. C# Data Types. Numeric Variable Types. Literals Versus Variables. Constants. Reference Types.
Day 4. Working with Operators.
Types of Operators. Punctuators. The Basic Assignment Operator. Mathematical/Arithmetic Operators. Relational Operators. Logical Bitwise Operators. Type Operators. The sizeof Operator. The Conditional Operator. Understanding Operator Precedence. Converting Data Types. Understanding Operator Promotion. For Those Brave Enough.
Day 5. Control Statements.
Controlling Program Flow. Using Selection Statements. Using Iteration Statements. Using goto. Nesting Flow.
Day 6. Classes.
Object-Oriented Programming Revisited. Defining a Class. Class Declarations. Data Members, aka Fields. Static Variables. The Application Class. Properties. A First Look at Namespaces.
Day 7. Class Methods and Member Functions.
Getting Started with Methods. Using Methods. Program Flow with Methods. Format of a Method. Passing Values to Methods. Types of Class methods.
Week 1. In Review.
The WR01.cs Program
WEEK 2. AT A GLANCE.
Day 8. Advanced Data Storage: Structures, Enumerators, and Arrays.
Structures. Enumerators. Using Arrays to Store Data.
Day 9. Advanced Method Access.
Overloading Methods. Using a Variable Number of Parameters. Scope. Classes with No Objects. Namespaces Revisited.
Day 10. Handling Exceptions.
The Concept of Handling Problems. Exception Handling. Adding Finality with finally. Common Exceptions. Defining Your Own Exception Classes. Throwing Your Own Exceptions. checked Versus unchecked Statements.
Day 11. Inheritance.
The Basics of Inheritance. Polymorphism and Inherited Classes. Virtual Methods. Working with Abstract Classes. Sealing Classes. The Ultimate Base Class: Object. Using the is and as Keywords with Classes—Class Conversions. Arrays of Different Object Types.
Day 12. Better Input and Output.
Understanding Console Input and Output. Formatting Information. Working Closer with Strings. Getting Information from the Console.
Day 13. Interfaces.
Interfaces—A First Look. Defining Interfaces. Using Multiple Interfaces. Explicit Interface Members. Deriving New Interfaces from Existing Ones. Hiding Interface Members.
Day 14. Indexers, Delegates, and Events.
Using an Indexer. Exploring Delegates. Working with Events. Creating Events.
Week 2. In Review.
Enumerations for the Cards. A card Type. A deck Class. The Card Game. Looking at the Entire Deck.
WEEK 3. AT A GLANCE.
Day 15. Using the .NET Bases Classes.
Classes in the .NET Framework. Working with a Timer. Getting Directory and System Environment Information. Working with Math Routines. Working with Files. Working with Data Files.
Day 16. Creating Windows Forms.
Working with Windows and Forms. Creating Windows Forms. Customizing a Form's Look and Feel. Adding Controls to a Form.
Day 17. Creating Windows Applications.
Working with Radio Buttons. Working with List Boxes. Adding Menus to Your Forms. Displaying Pop-Up Dialogs and Forms.
Day 18. Web Development.
Creating Web Applications. The Concept of a Component. Web Services. Creating Regular Web Applications.
Day 19. Two D's in C#—Directives and Debugging.
What Is Debugging? Types of Errors. Finding Errors. Code Walkthroughs: Tracing Code. Preprocessor Directives. Using Debuggers.
Day 20. Operator Overloading.
Overloading Functions Revisited. Operator Overloading.
Day 21. A Day for Reflection and Attributes.
Reflection. Attributes. Congratulations!
Week 3. In Review.
Apply What You Know. Show What You Know.
Appendix A: Answers.
Appendix B: C# Keywords.
abstract. as. base. bool. break. byte. case. catch. char. checked. class. const. continue. decimal. default. delegate. do. double. else. enum. event. explicit. extern. false. finally. fixed. float. for. foreach. get. goto. if. implicit. in. int. interface. internal. is. lock. long. namespace. new. null. object. operator. out. override. params. private. protected. public. readonly. ref. return. sbyte. sealed. set. short. sizeof. stackalloc. static. string. struct. switch. this. throw. true. try. typeof. uint. ulong. unchecked. unsafe. ushort. using. value. virtual. void. while.
Appendix C. C# Command-Line Compiler Flags.
Output. Input. Resource. Code Generation. Errors and Warnings. Programming Language. Miscellaneous. Advanced.
Appendix D. Understanding Different Number Systems.
The Decimal Number System. The Binary System. The Hexadecimal System.