MOC 10261 C# - Learning to Program Using Visual C# 2010


Description In this course, you’ll learn to use Visual Studio 2010 to explore the Visual C# language. The course starts with a quick overview of the .NET platform, examining assemblies, Microsoft Intermediate Language, Visual Studio profiles, XML comments, IntelliSense, and debugging. From there, you’ll learn all the language features that you must internalize in order to create full-featured Web or Windows applications that make best use of the .NET platform. You’ll learn about data types, variables, and operators, along with all the important flow control structures. You’ll work through several examples demonstrating the power of the .NET Framework, and dig into creating and consuming your own classes and objects. The course moves on to working with data structures, such as arrays and collection classes, before finishing up with discussions of generics, handling exceptions and working with delegates and events. The course concludes by introducing the new LINQ-oriented features including anonymous types, lambda expressions, and more. By the end of this course, you will understand the important basic concepts that will allow you to start creating the applications you need

This course assumes that students have some programming background. No specific experience with Visual Studio 2010 or the .NET Framework is required. As with any such course, the more experience you bring to the course, the more you’ll get out of it. This course moves quickly through a broad range of programming topics, but it does not require any prior .NET skills.

Learning Objectives
After completing this course, students will be able to:

  • Create Console Application projects in Visual Studio .NET 2010.
  • Convert a variable from one data type to another.
  • Work with dates and times.
  • Repeat blocks of code using looping statements.
  • Generate and test your own classes using the Class Designer and Object Test Bench tools.
  • Use methods in your classes.
  • Control how derived classes inherit from base classes.
  • Create classes containing arrays, adding support for indexers and enumerators.
  • Use delegate types to provide flexibility and type safety.
  • Create generic classes and methods.
  • Use Exception objects to determine what error has occurred.
  • Create your own custom collection classes.
  • Use anonymous types, lambda expressions, extension methods, object initializers, and implicit type declarations.

Getting Started

  • Learn the advantages and architecture of the .NET Framework
  • Setup a development profile in Visual Studio .NET
  • View the code that Visual Studio generates and understand what it does

Data Types and Variables

  • Understand how to create variables and assign values
  • Explore operators and see how they can be used to change values and compare expressions

Using the .NET Framework

  • Using .NET Framework classes
  • Explore basic file IO operations
  • Learn how to work with strings

Branching and Flow Control

  • Making choices using conditional statements
  • Manage flow control using branching statements
  • Break out of loops when necessary

Classes and Objects

  • Investigate .NET Framework classes to see how you can consume classes in your code
  • Learn about properties, methods, and fields
  • Create instances of classes using class constructors
  • Investigate class details, including reference vs. value types, and more

Properties and Methods

  • Explore how to use properties in your classes
  • Learn to control how property values are set and retrieved
  • Understand how to pass arguments to methods
  • Learn how to return both simple and complex data types from methods

Object-Oriented Techniques

  • Understand how derived classes inherit from base classes
  • Explore how to add and modify members in derived classes
  • Understand how to create and use interfaces
  • Explore techniques for organizing your classes

Working with Arrays

  • Create and initialize arrays
  • Work with array methods and properties
  • Investigate arrays in the .NET Framework
  • Learn techniques for sorting arrays

Delegates and Events

  • Learn different ways to work with delegates
  • Introduce anonymous delegates
  • Learn how delegates and events are related
  • Investigate events and event handlers


  • Understand the advantages and benefits of generics
  • Explore the use of generics to sort and search in arrays
  • See how to use generic interfaces and constraints
  • Explore the generic List class

Handling Exceptions

  • Learn to use try/catch blocks to handle runtime errors
  • Throw exceptions back to procedure callers
  • Use the finally block to run code unconditionally
  • Create and handle user-defined exceptions

Collection Classes

  • Investigate the collection interfaces in the System.Collections.Generic namespace
  • Create dynamically sized arrays using the List class
  • Investigate the generic SortedDictionary, SortedList, Stack, and Queue classes


  • Motivate the need for LINQ
  • Learn about the various LINQ providers
  • Investigate simple LINQ to Objects, LINQ to SQL, and LINQ to XML samples