50222A: From C# 2.0 to C# 3.0
One DayInstructor-led

About this Course
This one-day instructor-led course provides students with the knowledge
and skills to develop applications in the .NET Framework 3.5 using the
C# 3.0 programming language.
This course serves as a bridge for proficient .NET Framework developers
with C# 2.0 programming experience to the new features of the C# 3.0
programming language.
Audience Profile
This course is intended for developers with practical experience of at
least 1 year with the C# 3.0 programming language and the .NET
Framework.
At Course Completion
Develop applications using the C# 3.0 language in the .NET Framework
3.5.
Use advanced language constructs such as extension methods, anonymous
types.
Prerequisites
Practical experience of at least 1 year with the C# 3.0 language.
-or- Completed course 50150 or have equivalent knowledge
Course Outline
Module 1: From C# 2.0 to C# 3.0
This module explains how to apply C# 3.0 language features in real
applications, and
provides the motivation for each feature, categorizing them into four
distinct groups:
Developer productivity features, Extensibility features, Functional
programming
features and LINQ support features.
Lessons
Developer Productivity Features Implicit typing, Object and
collection initializes, Automatic properties, Anonymous types.
Extensibility Features Extension methods, Partial methods.
Functional Programming Features Lambda expressions, Expression
trees.
LINQ Support Features An overview of language query operators.
Lab : Extension Methods and IEnumerable
ForEach extension method for IEnumerable.
MaxElement extension method for IEnumerable.
Lab : Extension Methods and Anonymous Types
Extension method for turning anonymous types into tuples.
After completing this module, students will be able to:
Extend existing types using extension methods.
Use lambda expressions and expression trees for simple functions.
Initialize collections and objects and use automatic properties and
anonymous types to facilitate productivity.