The C# 2.0 Programming Language

4 Day Course
Hands On
Official Microsoft Curriculum

This course has been replaced by the new C# 3.0 and C# 4.0 courses.


Hide all

Introduction to .NET and C# (1 topic)

  • The .NET Framework; The Common Language Runtime; The Common Type System; C# Features; Introduction to namespaces and assemblies

Language Fundamentals (1 topic)

  • Procedures and statements; Data types; Declaring variables; Assignments; Conversion; Arithmetic and other operators; Control constructs

Types (1 topic)

  • Type concepts; Value and reference types; Fields, properties and methods; Accessibility modifiers; Construction; Assignment; The simple types; The 'null' reference; Static and instance members; Enumerated types; Partial classes; Static classes

Operator overloading (1 topic)

  • Why operator overloading is useful; When to overload; implicit conversions; explicit conversions

Exception Handling (1 topic)

  • Errors vs. Exceptions; The 'try' block; Using 'throw'; The 'catch' block; The 'finally' block; Creating your own exceptions; 'checked' and 'unchecked' expressions

Inheritance (1 topic)

  • Concept of inheritance; Extending a simple class; Polymorphism; 'virtual', 'override', 'new' and 'sealed' modifiers

Abstract Classes and Interfaces (1 topic)

  • Abstract classes; Abstract methods, properties and indexers; Polymorphism with interfaces; Multiple interfaces

Arrays and Indexers (1 topic)

  • Arrays; Array initializers; Multi-dimensional arrays; Jagged arrays; Indexers; Standard collections; C# 2.0 Iterators;

Generic Types (1 topic)

  • The need for generics; Writing and using generic types; Applying constraints; Other aspects of generic programming; Nullable types; Generic collections

Managing Resources (1 topic)

  • Garbage collection and its impacts; Finalizers; The 'Dispose' method; IDisposable interface; The using statement for deterministic resource management

Delegates and Events (1 topic)

  • Delegates explained; Working with delegates; Creating your own delegate types; Events; Real-world examples; Anonymous delegates; Asynchronous invocation patterns; Late binding using delegates

Attributes (1 topic)

  • Attributed code explained; Using attributes; Custom attributes; Introduction to reflection

Namespaces and Assemblies (1 topic)

  • Namespaces; The 'using' statement for namespaces; Assemblies; DLLs at compile time and Run Time; The Global Assembly Cache (GAC)

Introduction to ASP.NET and Windows Forms (1 topic)

  • Putting the language into practice; Creating a simple ASP.NET Web Forms application using ADO.NET; Creating a simple Windows Forms application; Using a Web Service


Developers using C# to write .NET Framework applications and who are new to the C# programming language. This includes those currently working with Visual Basic 6.0, C++ or Java. Note: Developers who will be using Visual Studio .NET 2003 and C# 1.x will also benefit from attending the course, as the skills learned on the course can be applied to the older version. Delegates must understand the fundamentals of programming and have some prior exposure to object oriented programming, the latter of which can be gained by attending the course "Object Oriented Primer for Software Developers".