English French German Italian Portuguese Russian Spanish


  • Microsoft Training

    microsoftInterSource offers courses on all practically all Microsoft products and technologies:

    Operating Systems: XP, Vista, Server Server2003, Server 2008 IIS, SQL Server

    Development Tools & Environments: ASP, ASP.NET, C#, .NET, VBA, Visual Basic

    Applications: Dynamics, Expression, Access, Excel, Word PowerPoint, Exchange, InfoPath, Outlook, SharePoint , Project, Publisher, Business Intelligence

    Please refer to our detailed course outlines below.

  • About Microsoft

    Microsoft has had an impact on, and indeed defined the computing world like no other company. The development tools, operating systems and applications produced by Microsoft have achieved near-ubiquity in the desktop computer market. The original mission set by Microsoft's founder was to have "a computer on every desk and in every home, running Microsoft software". About 90% of computer users worldwide run Microsoft products, hence this objective has largely been met. For operating systems, Web client statistics suggest that Microsoft Windows has about a 92% share, Apple Mac OS 6% and Linux, 1%.

    Read More

  • Course Details Microsoft

    Classes are offered at client sites, at our Geneva training center, and via a live web conference. For detailed course outlines and scheduled classes, please see below.

    To book training, navigate to the course you need, then:

    • For scheduled online classes, register from the choices indicated.
    • If you need an alternative date, time or location, or if you want a live classroom course, click on “request an offer for this course,” to complete the form.

MOC 10266 - Programming in C# 4.0 with Microsoft Visual Studio 2010

 PDF PrintEmail

Course duration

  • 5 Days

Course Outline

This C# 4.0 class is designed for people who are new to .NET 4.0. The course highlights the structure of C# 4.0 programs, language syntax, and implementation details.

This C# course provides the prerequisite C# language knowledge necessary to begin learning to build ASP.NET 4.0 and Windows applications using C#; however, students do not learn to build those applications in this course.

  • Understand the syntax of basic C# programming constructs.
  • Learn to create and call methods in a C# application.
  • Learn to catch, handle and throw exceptions.
  • Learn to perform basic file IO operations in a C# application.
  • Learn to create and use new types (enumerations, classes, and structures), and understand the differences between reference types and value types.
  • Learn to control the visibility and lifetime of members in a type.
  • Learn to use inheritance to create new reference types.
  • Learn to manage the lifetime of objects and control the use of resources.
  • Learn to define properties and indexers to encapsulate data, and define operators for this data.
  • Learn to decouple an operation from the method that implements an operation, and use these decoupled operations to handle asynchronous events.
  • Learn to use collections to aggregate data, and use Generics to implement type-safe collection classes, structures, interfaces, and methods.
  • Learn to implement custom collection classes that support enumeration.
  • Learn to query in-memory data by using LINQ.
  • Learn to integrate code written by using a dynamic language such as Ruby and Python, or technologies such as COM, into a C# application.
  • Object-oriented programming
  • Some Experience with Visual Studio
  1. Introducing C# and the .NET Framework
    1. Introduction to the .NET Framework
    2. Creating Projects Within Visual Studio 2010
    3. Writing a C# Application
    4. Building a Graphical Application
    5. Documenting an Application
    6. Running and Debugging Applications by Using Visual Studio 2010
    7. Lab: Introducing C# and the .NET Framework
      1. Building a Simple Console Application
      2. Building a WPF Application
      3. Verifying the Application
      4. Generating Documentation for an Application
  2. Using C# Programming Constructs
    1. Declaring Variables and Assigning Values
    2. Using Expressions and Operators
    3. Creating and Using Arrays
    4. Using Decision Statements
    5. Using Iteration Statements
    6. Lab: Using C# Programming Constructs
      1. Calculating Square Roots with Improved Accuracy
      2. Converting Integer Numeric Data to Binary
      3. Multiplying Matrices
  3. Declaring and Calling Methods
    1. Defining and Invoking Methods
    2. Specifying Optional Parameters and Output Parameters
    3. Lab: Declaring and Calling Methods
      1. Calculating the Greatest Common Divisor of Two Integers by Using Euclid's Algorithm
      2. Calculating the GCD of Three, Four, or Five Integers
      3. Comparing the Efficiency of Two Algorithms
      4. Displaying Results Graphically
      5. Solving Simultaneous Equations (optional)
  4. Handling Exceptions
    1. Handling Exceptions
    2. Raising Exceptions
    3. Lab: Handling Exceptions
      1. Making a Method Fail-Safe
      2. Detecting an Exceptional Condition
      3. Checking for Numeric Overflow
  5. Reading and Writing Files
    1. Accessing the File System
    2. Reading and Writing Files by Using Streams
    3. Lab: Reading and Writing Files
      1. Building a Simple Editor
      2. Making the Editor XML Aware
  6. Creating New Types
    1. Creating and Using Enumerations
    2. Creating and Using Classes
    3. Creating and Using Structs
    4. Comparing References to Values
    5. Lab: Creating New Types
      1. Using Enumerations to Specify Domains
      2. Using a Struct to Model a Simple Type
      3. Using a Class to Model a More Complex Type
      4. Using a Nullable Struct
  7. Encapsulating Data and Methods
    1. Controlling Visibility of Type Members
    2. Sharing Methods and Data
    3. Lab: Encapsulating Data and Methods
      1. Hiding Data Members
      2. Using Static Members to Share Data
      3. Implementing an Extension Method
  8. Inheriting From Classes and Implementing Interfaces
    1. Using Inheritance to Define New Reference Types
    2. Defining and Implementing Interfaces
    3. Defining Abstract Classes
    4. Lab: Inheriting From Classes and Implementing Interfaces
      1. Defining an Interface
      2. Implementing an Interface
      3. Creating an Abstract Class
  9. Managing the Lifetime of Objects and Controlling Resources
    1. Introduction to Garbage Collection
    2. Managing Resources
    3. Lab: Managing the Lifetime of Objects and Controlling Resources
      1. Implementing the IDisposable Interface
      2. Managing Resources Used By an Object
  10. Encapsulating Data and Defining Overloaded Operators
    1. Creating and Using Properties
    2. Creating and Using Indexers
    3. Overloading Operators
    4. Lab: Creating and Using Properties
    5. Defining Properties in an Interface
    6. Implementing Properties in a Class
    7. Using Properties Exposed By a Class
    8. Lab: Creating and Using Indexers
      1. Implementing an Indexer to Access Bits in a Control Register
      2. Using an Indexer Exposed by a Class
      3. Lab: Overloading Operators
      4. Defining the Matrix and MatrixNotCompatible Types
      5. Implementing Operators for the Matrix Type
      6. Testing the Operators for the Matrix Type
  11. Decoupling Methods and Handling Events
    1. Declaring and Using Delegates
    2. Using Lambda Expressions
    3. Handling Events
    4. Lab: Decoupling Methods and Handling Events
      1. Raising and Handling Events
      2. Using Lambda Expressions to Specify Code
  12. Using Collections and Building Generic Types
    1. Using Collections
    2. Creating and Using Generic Types
    3. Defining Generic Interfaces and Understanding Variance
    4. Using Generic Methods and Delegates
    5. Lab: Using Collections
    6. Optimizing a Method by Caching Data
    7. Lab: Building Generic Types
      1. Defining a Generic Interface
      2. Implementing a Generic Interface
      3. Implementing a Test Harness for the BinaryTree Project
      4. Implementing a Generic Method
  13. Building and Enumerating Custom Collection Classes
    1. Implementing a Custom Collection Class
    2. Adding an Enumerator to a Custom Collection Class
    3. Lab: Building and Enumerating Custom Collection Classes
      1. Implementing the IList TItem Interface
      2. Implementing an Enumerator by Writing Code
      3. Implementing an Enumerator by Using an Iterator
  14. Using LINQ to Query Data
    1. Using the LINQ Extension Methods and Query Operators
    2. Building Dynamic LINQ Queries and Expressions
    3. Lab: Using LINQ to Query Data
      1. Using the LINQ Query Operators
      2. Building Dynamic LINQ Queries
  15. Integrating Visual C# Code with Dynamic Languages and COM Components
    1. Integrating C# Code with Ruby and Python
    2. Accessing COM Components from C#
    3. Lab: Integrating C# Code with Dynamic Languages and COM Components
      1. Integrating Code Written by Using a Dynamic Language into a C# Application
      2. Using a COM Component from Visual C# Application

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).

InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)

For an overall view of our offerings, please visit us at www.intersource.ch.