Contents In Details
1.Introduction
The Way
The C# Language
The .Net Architecture and .Net Framework
The Common Language Runtime (CLR)
Jute In Time Compilers(JITers)
The Framework Class Library(FCL)
The Common Language Specification (CLS)
The Common Type System (CTS)
Garbage Collection(GC)
C# Compared to C++
The Visual Studio
Writing Hello World Console Application In C#
Working Without Visual Studio.Net
With Visual Studio.Net
Understanding the Hello World Application in C#
Namespace in C#
The using Keyword
The Class Keyword
The Main() Method
Printing on the Console
Comment
Important Points to remember
A more interactive Hello World Application
Discussing a more interactive Hello World Application
2.C# Language Fundamentals.
Basic Data Type and mapping to CTS(Common Type System)
Variables
Constants Variables or Symbols
Naming Conventions for Variables and methods
Operators in C#
Arithmetic Operators
Prefix and Postfix notation
Assignment Operators
Relational Operators
Other Operators
Operator Precedence
Flow Control And Conditional Statements
The if...else statement
The Switch...case statement
loops In C#
The for Loop
Some Important points about the for loop
The do...while Loop
while Loop
Array in C#
Array Declaration
Accessing the values stored in an array
foreach Loop
3.Class and Objects.
Concept of a Class
Objects
Fields
Methods
Instantiating the class
Accessing the members of a class
Access Modifiers or Accessibility Levels
Properties
Precautions when using properties
Static Members of the class
Some More about Methods
Constructors
Finalize() Method of Object class
Destructors
Finalize() Method of Object class
Destructors
Method and Contructor Overloading
Overloading Contructor
value type (out & ref Keywords)
Reference type
Some more about references and objects
4.Inheritance & Polymorphism.
Inheritance
Inheritance in C#
Implementing inheritance in C#
Constructor calls in Inheritance
The base keyword-Calling Constructors of the base-class explicitly
Protected Access Modifier
The Protected internal Access Modifier
The sealed keyword
Object class -the base of all classes
Polymorphism
Using the reference of the base type for referencing the objects of child types
Using methods with the same name in the Base and the Sub-class
Overriding the methods -virtual and override keyword
the new keywords
Boxing and Un-boxing
5.Structures,Enumeration,Garbage Collection & Nested Classes.
Structures(struct)
Defining a struct
Instantiating the struct
structs as Values Types
Enumeration
The Need for Enumeration
Using Enumeration
More adboutEnumerations
Garbage Collection in .Net
Destuctors and performance Overhead
System.GC.Collecet()method
Nested Classes in C#
6.Abstract Classes & Interfaces.
Abstract Class
Interfaces
Implementing More Then One Interface
Explicit implementation of methods
Casting to an interface using is and as operators
An interface inheriting one or more interface
7.Arrays,Collections & String Manipulation.
Arrays Revisited
Multidimensional Arrays
Instantiating and accessing the elemsnts of multidimensional arrays
Instantiating and accessing jagged Arrays
Some other important points about multidimensional arrays
The foreach Loop
Collections
The ArrayList class
The Stack class
The Queue class
Dictionaries
The Hashtable class
Constructing a Hashtable
Adding items to a Hashtable
Retrieving items to a Hashtable
Removing a particular item
Getting the collection of keys and values
Cheking for the existence of a particular item in a hashtable
The string class and its members
The String Builder class
8.Exception Handling.
Exceptions Basics
The need for Exceptions
Exceptions in C# and .Net
Handling Exceptions using the try..catch...finally blocks
Use of the try..catch block
Exceptions class' Message and StackTrack Properties
The finally block
Catching Multiple Exceptions using multiple catch blocks
An important point to remember in multiple catch blocks
Other important points about Exception Handling in C#
Defining your own custom exceptions
Exception Hierarchy in the .Net Framework
Throwing an exception: the throw keyword
9.Delegates & Events.
Delegates Basics
The type or signature of the method the delegate can point to
The delegate reference,that can be used to reference a method
3.The actual method referenced by the delegate
Calling the actual method through its delegate
Confusion in terminology
Delegates in the .Net Framework
Passing delegates to methods
Multicast Delegates
Implementing a Multicast Delegate
Removing a method from the multicast delegate's invocastion list
Events and Event Handling
Event Handling in C#
A Clock Timer Example
Multicast events
Passing some data with the Event: Sub-classing System.EventArgs
10.WinForms & Windows Applications.
Windows Applications and .Net
WinForm Basics
Building the "Hello WinForm" Application
Understanding the Code
Adding Event Handling
Visual Studio.Net & its IDE (Integrated Development Environment)
IntelliSense and Hot Compiler
Code Folding
Integrated Compiler, Solution builder and Debugger
Form Designer
Solution Exoplorer
Menus in the Visual Studio.Net IDE
Using Visual Studio.Net to build the "Hello WinForm" Application
Create a new Project
Setting various properties of the form
Adding Controls to the Form
Adding Controls to the form
Adding Event Handling
Executting the application
The code generated by the Form Deginer
Using More Controls
Using various controls in an application: Programmer's Shopping Chart
Designing the form and placing the controls
Writing Code for Event Handling
Some Important Points for designing Windows Applications
11.More Windows Controls & Standard Dialog Boxes.
Collection Controls
List Box Control
Adding items to the list box
Accessing items in the list box
Removing items from the list box
List Box Events
Combo Box Control
Tree View
The TreeNode Editor
Adding /Removing items at runtime
Tree View Events
Image List Control
Attaching An Image List to diffrent controls
List View Control
Two Image Lists in the View Control
Adding items to the list view control using designer
Adding Items at runtime using code
Events for List View Control
Main Menu
Tool Bar
Date Time Picker
Windows Standard Dialog Boxes
Open File Dialog Box
Using the Open File Dialog Box
Save File Dialog Box
Font and Color Dialog Boxes
12.Data Access Using ADO.Net.
Introducing ADO.Net
Different components of Ado.Net
A review of basic SQL queries
SQL SELECT Statement
SQL INSERT Statement
SQL UPDATE Statement
SQL DELETE Statement
Performing common data access tasks with ADO.Net
Accessing Data using ADO.Net
Defining the connection string
Defining a Connection
Defining the command or command string
Defining the Data Adapter
Creating and filling the DataSet
A Demonstration Application
Loading tables
Filling the controls on the Form
Navigating through the records
Updating the table
Building the Application
Loading the table and displaying data in the form's controls
Initialing Commands
Adding Parameters to the commands
The Toggle Controls() method of our application
Editing (or Updating) Records
Event Handler for the Save Button
Event Handler for the Cancel Button
Inserting Records
Deleting a Record
Using Stored Procedures
UPDATE Stored Procedure
INSERT Stored Procedure
DELETE Stored Procedure
SELECT Stored Procedure
Using Stored Procedures with ADo.Net in C#
The modified Initialize Commands() method
Using Data Grid Control to View .Net data
A Demonstration Application for Data Grid Control
Second Demonstration- Using multiple related tables
Retrieving data using the SELECT command
Updating Records using INSERT, UPDATE and DELETE command
13.Multithreading.
What is Multithreading
Multithreading in C#
Thread Functionality
Static members of the System Threading Thread class
Instance members of the System Threading.Thread class
Thread Demonstration Example-Basic Operations
Thread Demonstration Example-Thread Priority
Thread Demonstration Example-Thread Execution Control
Using Join() to wait for running threads
Thread Synchronization
The C# Locking Mechanism
Threads may cause Deadlock
14.The File System & Streams.
Working with the File System
Obtaining the Application's Environment Information- The System.Environment class
Demonstraion Application-Environment Information
Obtaining the paths of various Windows Standard folders-Environment.GetFolderPath()
Manipulatiog Files using SysemIO.File and System.IO.FileInfo classes
System.IO.File class
Creating a file using Create() method
Copying and Moving a file using Copy()and Move() method
Checking the existence of a file using Exists() method
Getting Attributes of a file using GetAttributes() method
System.IO.FileInfo class
A quick and simple example
Manipulating Directories (folder) using System.IO.Directory and SystemIO.DirectoryInfoclasses
System.IO.Directory class
Creating,deleting and checking for the existence of directory
Syetm.IO.DirectoryInfo class
Demonstration application for the Directory Info class
Streams
An overview of the different types of streams
the System.Stream class -the base of all streams in ht e.Net framwork
Different types of file streams-Reading and Writing to files
Using Sysetm.IO.FileStream to read and write data to file
A string representing the path and name of the file
opening and reading from a file
Using Binary Reader and BinaryWriter to read and write primitives to files
Using StreamReader and StreamWriter to read write text files
Serialization and De-serialization
Implementing Serialization and Deserialion-A simple example
Formattiers in Serialization
Preventing certain elements from Serializing -The [NonSerialzed] attribute
Getting notified when Deserializing- the IDeserializationCallBack interface
Asynchronous Reading and Writing with Streams
A demonstration application
Issues Regarding Asynchronous Read/Write
Important points regarding the use of Streams
15.New Features In c# 3.5.
C# evolves
The need for generics
Generic collections
Creating genericc type
Constraining type parameters
Final thoughts on generics
Partial types
nullable types
Anonymous methods in event handling
Adventures with anonymous methods
Final thoughts on C# 2.0
16.The Road Ahead.
Getting Help
website.revision++
Good Luck!