Introducing C# and the .NET Framework
o Introduction to the .NET Framework
o Creating Projects Within Visual Studio 2010
o Writing a C# Application
o Building a Graphical Application
o Documenting an Application
o Running and Debugging Applications by Using Visual Studio 2010
Using C# Programming Constructs
o Declaring Variables and Assigning Values
o Using Expressions and Operators
o Creating and Using Arrays
o Using Decision Statements
o Using Iteration Statements
Declaring and Calling Methods
o Defining and Invoking Methods
o Specifying Optional Parameters and Output Parameters
Handling Exceptions
o Handling Exceptions
o Raising Exceptions
Reading and Writing Files
o Accessing the File System
o Reading and Writing Files by Using Streams
Creating New Types
o Creating and Using Enumerations
o Creating and Using Classes
o Creating and Using Structs
o Comparing References to Values
Encapsulating Data and Methods
o Controlling Visibility of Type Members
o Sharing Methods and Data
Inheriting From Classes and Implementing Interfaces
o Using Inheritance to Define New Reference Types
o Defining and Implementing Interfaces
o Defining Abstract Classes
Managing the Lifetime of Objects and Controlling Resources
o Introduction to Garbage Collection
o Managing Resources
Encapsulating Data and Defining Overloaded Operators
o Creating and Using Properties
o Creating and Using Indexers
o Overloading Operators
Decoupling Methods and Handling Events
o Declaring and Using Delegates
o Using Lambda Expressions
o Handling Events
Using Collections and Building Generic Types
o Using Collections
o Creating and Using Generic Types
o Defining Generic Interfaces and Understanding Variance
o Using Generic Methods and Delegates
Building and Enumerating Custom Collection Classes
o Implementing a Custom Collection Class
o Adding an Enumerator to a Custom Collection Class
Using LINQ to Query Data
o Using the LINQ Extension Methods and Query Operators
o Building Dynamic LINQ Queries and Expressions
Integrating Visual C# Code with Dynamic Languages and COM Components
o Integrating C# Code with Ruby and Python
o Accessing COM Components from C#