DN25 - C# and .NET Development - 5 Days

View Dates and Locations

Course Description

C# has become the de-facto standard language for developing .NET applications. C# provides a clean and expressive way to implement contemporary object-oriented solutions on the .NET platform.

This course will give you a deep and broad understanding of C# as a programming language. You will also gain confidence to explore the richness of the .NET Framework library, including LINQ, the Entity Framework, and asynchronous programming.


At least 6 months programming experience. Familiarity with OO concepts would be an advantage.


What you will learn:

  • Essential C# syntax
  • Implementing object-oriented designs in C#
  • Using generics, collection classes, and exceptions
  • File handling
  • ADO.NET, Entity Framework, and LINQ
  • Multithreading and asynchronous programming
  • Dynamic programming
  • Overview of WPF and WCF


For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.

On-site course enquiry (from £165 pp per day)

Course Details

View Dates and Locations

Introduction to C# and .NET
.NET Framework building blocks
Hello world in C#
Using Visual Studio
Namespaces and assemblies

Core C# Programming Constructs
Variables, operators, and statements
Reference types vs. value types
Nullable types
Using the Console and String classes
Using implicit types

More C# Programming Constructs
Defining methods
Input, output, and optional parameters
Method overloading

Defining and Using Classes
Defining classes
Defining constructors and finalizers
Defining properties
Creating and disposing objects
Defining constants and read-only fields
Static members
Partial classes/methods

Inheritance and Polymorphism
Defining base classes and derived classes
Overriding methods
Abstract classes

Exception Handling
Defining Try/Catch/Finally blocks
Throwing exceptions
Defining new exception classes
Defining Using blocks

Creating Collections of Objects
Overview of generics
Using List collections
Using Dictionary collections

Delegates, Events, and Lambdas
Defining simple delegates
Defining and handling events
Using lambda expressions

Additional Language Features
Operator overloading
Extension methods
Object initializers
Anonymous types

Introduction to LINQ
The role of LINQ
Simple LINQ query expressions
Using LINQ with collections
LINQ query operators

File Handling
Using the DriveInfo, DirectoryInfo, and FileInfo classes
Using the Directory and File classes
Using stream readers and writers

Managing Data
.NET data providers
Connecting to a database
Executing a query
Result sets
Using the Entity Framework

Creating XAML-based User Interfaces
Overview of Windows Presentation Foundation
Getting started with XAML
Implementing event handlers
Data binding

WCF and Data Services
Overview of Windows Communication Foundation
Creating a service
Hosting a service
Creating a client
Implementing and using WCF data services

Multithreading, Tasks, and Asynchronous Operations
Invoking methods asynchronously via delegates
Creating threads programmatically
Parallel programming
Asynchronous programming

Integrating with Unmanaged Code
The dynamic keyword
The Dynamic Language Runtime

Additional .NET Techniques
Assembly management
Encryption and decryption



Please be aware that due to COVID-19 we are not currently running public courses. However, most of our courses can be delivered over the web (with mainframe access where necessary).

Dates are being arranged daily - please phone or email for further information.

Course Enquiry