Duration
Advanced C# Programming
3 days
Objective
Learn advanced C# language features including OOP, Linq, Serialization and Parallelism. Once you’ve mastered the language, you can apply on various project types such as desktop, ASP.NET MVC or even Xamarin.
Prerequisite
Basic C#, Java or C++
Course Outline
Core C# Language Features Re-Cap
- C# Language Features
- Operators
- Conditional statements
- Pattern matching
- Loops
Defining Types
- Essential concepts
- Classes, objects, and arrays
- Value types
- Nullable types
Defining Members
- A closer look at parameters
- Construction and destruction
- Properties
Going Further with Types and Members
- Static members
- Operators
- Partial types
- Partial methods
Inheritance and Interfaces
- Inheritance
- Additional inheritance techniques
- Interfaces
- Object disposal
- Additional interface techniques
Delegates, Events, and Lambda Expressions
- Delegates
- Anonymous methods and lambdas
- Expression-bodied members
- Events
Using .NET Framework APIs
- Exception handling
- Collections
- Regular expressions
Generics in C#
- Getting started with generics
- A closer look at generics
- Generic delegates, interfaces
- Generic methods
- Generic Classes
File Handling and Serialisation
- Accessing the File System
- Using Files Streams
- Data Contract Serialisation
Additional C# Language Features
- Tuples
- Initialization
- Anonymous types
- Extension methods
LINQ to Objects
- Introduction to LINQ
- Using LINQ with arrays
- Using LINQ with collections
- LINQ techniques
Asynchronous Programming
- Creating tasks
- Continuations
- Nested tasks
Managing Tasks
- Quick recap of async and await
- A closer look at the Task class
- Working with TaskCompletionSource
- Task scheduling
Parallel Programming
- Task-based and data-based parallelism
- Using the Parallel class
- Using PLINQ
- TPL DataFlow
Entity Framework
- Introduction to the Entity Framework
- Creating a simple entity data model
- Using entities in an application
- Creating a full entity data model
Programme scope, delivery arrangements and suitability are confirmed during enquiry.