Course Catalog
Curriculum Guides
Buy Courseware
Technical Library
About Object Innovations
Contact Us

877-558-7246 (toll free)  

4102.  C# Essentials

Rev. 4.6


Microsoft .NET is an advance in programming technology that greatly simplifies application development, both for traditional, proprietary applications and for the emerging paradigm of Web-based services. .NET is a complete restructuring of Microsoft’s entire system infrastructure and represents a major learning challenge for programmers developing applications on Microsoft platforms.


This two-day intensive course is designed for the experienced programmer to help you quickly come up to speed on the C# language. It is current to Visual Studio 2013 and .NET 4.5.1. Important newer features such as dynamic data type, named and optional arguments, the use of variance in generic interfaces, and asynchronous programming keywords are covered in a final chapter. An appendix covers the fundamentals of Language Integrated Query (LINQ).


This course concisely covers the essentials of programming using Microsoft’s C# programming language. It starts with a brief chapter, “.NET:  What You Need to Know,” which gets you up and running in the .NET environment with a minimum of fuss. The next two chapters cover C# language essentials and object-oriented programming in C#. The next chapter discusses how C# relates to the .NET Framework. The following chapter covers delegates and events. The course includes a succinct introduction to creating GUI programs using Windows Forms. The course concludes with a chapter covering the newer features in C#. Appendices provide a tutorial on Visual Studio 2013, an overview of LINQ, and coverage of unsafe code and pointers in C#.


The course is practical, with many example programs and a progressively developed case study. The goal is to quickly bring you up to speed in writing C# programs. The student will receive a comprehensive set of materials, including course notes and all the programming examples.




·         Acquire a working knowledge of C# programming

·         Learn about important interactions between C# and the .NET Framework

·         Learn how to implement simple GUI programs using Windows Forms

·         Gain a working knowledge of dynamic data type, named and optional arguments, and other new features in C# 4.0.

·         Learn how to do asynchronous programming using new keywords in C# 5.0.


Duration:  2 days. The course could also be presented over a 3-day timeframe for somewhat less experienced students.


Prerequisites:  The student should be an experienced application developer or architect. Some background in object-oriented programming would be helpful.


1.      NET: What You Need to Know

.NET Executables and the CLR

A .NET Testbed for C# Programming

Using Visual Studio 2013


2.      C# Overview for the Sophisticated Programmer

First C# Console Application


Data Types


Control Structures

Subroutines and Functions

Parameter Passing



Implicitly Typed Variables

Console I/O


Exception Handling


3.      Object-Oriented Programming in C#


Access Control

Methods and Properties

Asymmetric Accessor Accessibility

Static Data and Methods

Constant and Readonly Fields

Auto-Implemented Properties


Overriding Methods

Abstract Classes

Sealed Classes

Access Control and Assemblies


4.      C# and the .NET Framework




.NET and COM


IEnumerable and IEnumerator

Copy Semantics in C#

Generic Types

Type-Safe Collections

Object Initializers

Collection Initializers

Anonymous Types



5.      Delegates and Events


Anonymous Methods

Lambda Expressions

Random Number Generation



6.      Introduction to Windows Forms

Creating Windows Applications Using Visual Studio 2013

Partial Classes

Buttons, Labels and Textboxes

Handling Events

Listbox Controls


7.      New Features in C# 4.0 and C# 5.0

Dynamic Data Type

Named Arguments

Optional Arguments

Variance in Generic Interfaces

Asynchronous Programming Keywords


Appendix A.  Using Visual Studio 2013


Signing in to Visual Studio

Overview of Visual Studio 2013

Creating a Console Application

Project Configurations


Multiple-Project Solutions


Appendix B.  Language Integrated Query (LINQ)


What Is LINQ?

Basic Query Operators





Appendix C.  Unsafe Code and Pointers in C#


Unsafe Code

C# Pointer Type


Appendix D.  Learning Resources


System Requirements


Course examples require Microsoft Visual Studio 2013 and Windows 7sp1 or higher. The free Visual Studio Express 2013 for Windows Desktop can be used. See the appropriate course Setup Guide for details.


A good minimal hardware profile for this course consists of a 2 GHz or better CPU, 1 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.