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

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.

Pre-requisites

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

Objectives

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

Customisation

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
Conversions
Nullable types
Using the Console and String classes
Flow-of-control
Using implicit types
More C# Programming Constructs
Defining methods
Input, output, and optional parameters
Method overloading
Arrays
Structures
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
Interfaces
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
Overview
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
Serialization
Managing Data
.NET data providers
Connecting to a database
Executing a query
Result sets
DataSets
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
Synchronization
Parallel programming
PLINQ
Asynchronous programming
Integrating with Unmanaged Code
The dynamic keyword
The Dynamic Language Runtime
Additional .NET Techniques
Reflection
Assembly management
Attributes
Encryption and decryption