C# 3.0 Programming

5 Day Instructor-Led Onsite or Online Course

Course Summary:

With the release of .NET 3.5, Visual Studio and the C# have been significantly upgraded to enable developers to build applications more quickly than ever using enhanced language features and Language Integrated Query (LINQ). The C# 3.0 Programming with Visual Studio 2008 course provides an in-depth, hands-on analysis of the C# language and demonstrates how to develop flexible .NET applications using Visual Studio 2008.

The course begins by providing a look at the different components of the .NET framework and discusses the basic building blocks of the C# language including variables, conditionals and looping. Details about new C# 3.0 features such as default properties, object initializers and extension methods are also covered.

Object-oriented features found in C# are also covered so that students understand how to leverage concepts such as inheritance, method overriding, interfaces, and object hierarchies. After covering the object oriented features available in C#, the course shows several of the exciting new language features available including lambda expressions and LINQ to Objects. Other topics covered include ADO.NET data access technologies along with LINQ to SQL and lambdas.

Pre-Requisites:

Previous experience with a programming language such as Visual Basic, C++, or Java is highly recommended to get the most out of this course.

What You'll Learn:
  • C# Language Fundamentals
  • Object-oriented principles
  • C# Generics and other C# 3.0 features
  • Visual Studio 2008 features
  • The role interfaces play in .NET
  • The role of classes, objects, namespaces, and assemblies
  • .NET Base Class Libraries
  • Components of the .NET framework
  • Data access with ADO.NET
  • Working with Multiple Threads
  • LINQ and Lambdas

Course Details:

Building Applications with the .NET Framework
  • What is the .NET Framework?
  • The role of the Common Language Runtime (CLR)
  • .NET object-oriented language choices
  • Memory Management and Garbage Collection
  • .NET Compilation Model
  • Microsoft Intermediate Language (MSIL)
  • Just-in-Time compilation
  • Assemblies and Namespaces
  • The Base Class Library
C# Fundamentals
  • C# Language Features
    • Compiled
    • Object-oriented
    • Threading support
    • Structured exception handling
    • Garbage collection
  • Key Features in C# 3.0
    • Object Initializers
    • Default Properties
    • Extension Methods
    • Lambda Expressions
    • LINQ
Visual Studio 2008
  • Why use Visual Studio?
  • Understanding Solutions and Projects
    • Creating a C# solution and project using Visual Studio 2008
    • Project Configuration
    • Compiling projects
    • Debugging projects
  • Using Visual Studio 2008 features
    • Split-View Designer
    • WPF/WCF/WF Support
    • Class Designer
    • Code Snippets
    • Refactoring Support
    • Debugger Visualizers
C# Language Syntax
  • C# statements, comments and operators
  • Defining Variables, Constants, and Arrays in C#
  • Conditionals and Looping
Classes and Structs
  • What are classes?
  • What are objects?
  • Class members
  • Creating a class from scratch
  • Setting class member access visibility
  • Adding constructors
  • Adding fields to a class
  • Using default properties
  • Adding property set and get statements to a class
  • Property indexers
  • Adding methods to a class
  • Creating extension methods
  • The Role of Namespaces
  • What is a struct?
  • Differences between classes and structs
  • Creating a class in VS 2008 with the Class Designer
Object-Oriented Programming
  • What is object-oriented programming?
  • The role of System.Object in .NET
  • Understanding Abstraction, Encapsulation, Polymorphism and Inheritance
  • Using abstract classes
  • Understanding boxing and unboxing in .NET
  • Operator Overloading
  • Using .NET Attributes
  • Structured Exception handling
Generics
  • What are Generics?
  • Creating objects using Generics
  • Defining a custom Generic type
  • Generic Constraints
  • Using the Nullable Struct
  • The default keyword
  • System.Collections.Generic Classes
Working with Interfaces
  • What are Interfaces?
  • Defining interfaces
  • Implementing interfaces
  • Interfaces and Polymorphism
  • Interfaces in the .NET Framework
  • Implementing IEnumerable
Delegates and Events
  • The role of Events and Delegates in .NET
  • Understanding events in C# applications
  • Understanding and Creating Events
  • Understanding and Creating Delegates
  • Hooking up Event Handlers
  • Using Anonymous Methods with Events
Using the Base Class Library
  • Overview of functionality in the framework class library
  • Working with System.IO classes
  • Working with Dates and Times
  • Accessing remote data and sending email with System.Net classes
  • Building strings with the StringBuilder class
  • Pattern searching with Regular Expressions
  • Working with Threads
Data Access with ADO.NET
  • Introduction to ADO.NET
  • What’s new in ADO.NET?
  • Managed Provider Classes in ADO.NET
    • Connection
    • Command
    • DataReader
    • DataAdapter
    • DataSet
  • Generic database access with DbProviderFactory classes
  • Multiple Active Resultsets (MARS)
Introduction to Language Integrated Query (LINQ)
  • What is Language Integrated Query (LINQ)
  • The role of anonymous types
  • LINQ Expressions
  • Lambda Expressions
  • Using LINQ to Objects
  • Using LINQ to SQL

Contact Us for information about onsite or online courses.

Video Tips Newsletter for .NET and SharePoint Developers
Sign-up to receive our free video tips newsletter for .NET and SharePoint developers and learn about technologies that can help make you more productive: