C# Programming

C# Programming


This course is for all developers requiring the skills to develop applications in Microsoft's C# language.


Delegates would benefit from having some previous programming experience. Attending our one day Programming for Beginners course would provide this.


5 days. Hands on.

Course Objectives

This is a thorough and comprehensive 5 day course providing a practical introduction to programming in C# utilising the services provided by .NET. It is available at Visual Studio 2015 (C# 6.0), but also relevant to previous releases. Delegates working on earlier releases need to advise us at the time of booking so that we can adapt the course content accordingly.

The course introduces object-oriented concepts at an early stage and C# is taught in a way that capitalises on this object orientation. Besides supporting traditional OO features, such as classes, inheritance and polymorphism, C# introduces several additional features such as properties, indexers, delegates, events, and interfaces. These make C# a compelling language for developing object-oriented and component-based systems. This course provides thorough coverage of all these features and important new features such as implicit typing, extension methods, lambda expressions and Language-Integrated Query (LINQ) are looked at.

C# as a language is elegant and powerful. But to utilise its capabilities fully, you need to have a good understanding of how it works with the .NET Framework. The course explores several important interactions between C# and the .NET Framework and it includes an introduction to major classes for collections, delegates, and events.  It includes a succinct introduction to creating GUI programs using Windows Forms.

Upon successful completion of this course, students will be able to:

  • Implement programs using C# and classes from the .NET Framework.
  • Implement simple GUI programs using Windows Forms.
  • Work with C# Namespaces, Variables, Operators and Expressions.
  • Understand C# Data Types.
  • Control program execution with control structures.
  • Understand Classes, Inheritance and Polymorphism.
  • Work with Object Properties and Methods.
  • Work with Character and String data.
  • Understand Arrays and Indexers.
  • Format and Convert Data.
  • Handle Exceptions.
  • Understand Interfaces.
  • Understand Collections and Generic Types.
  • Work with Delegates and Events.
  • Create basic Windows Forms.
  • Understand the new features in the latest releases of C#

Course Content

Overview of .NET Framework Programming
.NET Executables and the CLR.
A .NET Test Bed for C# Programming.
Using Visual Studio.

Introducing C# Programs
Variables and Expressions.
Using C# as a Calculator.
Input/Output in C#.
.NET Framework Class Library.

Data Types in C#
Data Types.
Integer Types.
Floating Point Types.
Decimal Type.
Characters and Strings.
Boolean Type.
Nullable Types.

Operators and Expressions
Operator Cardinality.
Arithmetic Operators.
Relational Operators.
Logical Operators.
Bitwise Operators.
Assignment Operators.

Control Structures
If Statements.
The Foreach Construct.

Object Oriented Programming
Object Oriented Languages.

Classes as Structured Data.
Constructors and Initialization.
Static Fields and Methods.
Constant and Readonly.

More about Types
Overview of Types in C#.
Value Types.
Boxing and Unboxing.
Reference Types.

Methods, Properties and Operators
Parameter Passing.
Method Overloading.
Variable Length Parameter Lists.
Operator Overloading.

Characters and Strings
String Input.
String Methods.
The StringBuilder Class.

Arrays and Indexers
Jagged Arrays.
Rectangular Arrays.
Arrays as Collections.

Single Inheritance.
Access Control.
Method Hiding.

Virtual Methods and Polymorphism
Virtual Methods and Dynamic Binding.
Method Overriding.
Abstract Classes.
Sealed Classes.
Heterogeneous Collections.

Formatting and Conversion
Using the ToString Method.
Format Strings.
String Formatting Methods.
Type Conversions.

Exception Fundamentals.
Structured Exception Handling.

Interface Fundamentals.
Programming with Interfaces.
Using Interfaces at Runtime.

.NET Interfaces and Collections
IEnumerable and IEnumerator.
Copy Semantics and ICloneable.
Comparing Objects.
Generic Types.
Type Safe Collections.

Delegates and Events
Anonymous Methods.

Introduction to Windows Forms
Creating Windows Applications Using VS.
Partial Classes.
Buttons, Labels and Textboxes.
Handling Events.
Listbox Controls.

Other Features
Auto Implemented Properties.
Implicitly Typed Variables.
Object Initializers.
Collection Initializers.
Anonymous Types.
Partial Methods.
Extension Methods.
Lambda Expressions.

Public Courses

On-Site Courses

Can't attend one of our public classes? Booking for multiple people?

All our courses are available on your site! Delivered for your staff, at your premises.

Contact us to find out more...