DN25 - C# and .NET Development
Duration5 Days (customisation)

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.

Course Details

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