C# Master Class

So, you know C#. You've learned the syntax, learned how to write classes and interfaces, know your lists from your lambdas, and have some experience using both the C# language and the .Net framework. Perhaps you took our Beginner and advanced C# courses - or you already know what they teach. What next?


”I liked that the course provided many hands on exercises.”   

"Very good and pedagogical!"  

"I feel like we touched a LOT of subjects, from which we can add to our inventory of skills what we think is useful."

The C# Masterclass moves beyond the syntax and semantics. Its focus is on applying C#, along with selected parts of the .Net framework, to build elegant, extensible, multi-paradigm solutions to everyday problems. You'll learn how to apply classes and interfaces to achieve solid OO designs, how to work efficiently with lambda expressions, how to re-cast traditionally imperative problems as concise Linq queries, how to tame asynchrony with using the async/await keywords - and much more!

The course is up-to-date with the lastest C# and and most exercies are done targeting the latest version of .NET Core. Even if you don't use .NET Core today, this course is still relevant and most of the concepts taught in this course works on both .NET Core and .NET Framework.

  • .NET
  • C#

Target audience

This course is aimed at those who have a working knowledge of C# and want to learn to apply the language in a more powerful way, taking advantage of all it has to offer.


Participants should be comfortable with programming in C#. Some previous experience with generics, lambda expressions, and Linq queries is strongly suggested.

What you will learn


  • Roslyn compiler
  • .NET Core
  • .NET Standard

Being Effective with Visual Studio 2019

  • Avanced Visual Studio features

Lambda and Delegate refresher

  • Delegates
  • Lambda expressions
  • Func and Action

Value Tuples

  • Deconstruction
  • Discard

Pattern matching

  • Switch expressions
  • Property patterns
  • Positional patterns

Working with null

  • Null-conditional operator
  • Non-nullable reference types
  • null-forgiving operator

OO and dynamic

  • The nature of object orientation
  • Encapsulation and hiding
  • Dynamic objects

Classes: outside-in

  • Object Oriented design
  • Invariants
  • Command-Query Separation

Dependency Inversion

  • The Dependency Inversion Principle
  • Injecting dependencies
  • DI containers

Higher Order Programming

  • The lambda wrapper pattern 
  • Closure semantics, and its uses
  • Function generators

Reflective Programming

  • Runtime structure of a program
  • Reflection
  • Creating types

Event driven architecture

  • Complexity and boundaries
  • Event aggregator pattern 
  • Publish/subscribe

Asynchronous programming

  • The Thread pool
  • The Task abstraction
  • Waiting for tasks
  • Continuations
  • Async and await keywords
  • Async lambdas
  • ValueTasks

Advanced Linq

  • Method syntax vs. query syntax
  • Expression trees
  • Lazy evaluation: benefits and dangers
  • SelectMany, Join and Group By operations
  • Set operations

Encoding and Unicode

  • Understanding unicode
  • UTF-8 and UTF-16 encoding
  • Homographs

Related articles

  • Exploring the non-nullable type warnings in C# 8

    C# 8 will bring us many new exciting features

    Read more
  • Course update: .NET Core 3.x and C# 8

    .NET Core 3.0 and C# 8 will be released at the end of September, of course we keep our courses up to date.

    Read more
  • How to install RavenDB on a VM in Azure (step-by-step, part 1)

    This is a guide for you who want to work with document databases. I describe how I got RavenDB to work on a regular Windows Server 16 virtual machine which in turn runs in the Azure cloud. 

    Read more
  • How to install RavenDB on a VM in Azure (step-by-step, part 2)

    A guide in three parts, this is the second part. 

    Read more
  • How to install RavenDB on a VM in Azure (step-by-step, part 3)

    This is a guide in three parts. In this third part, we show how you import a certificate.

    Read more

Course info

Course code: T320
Duration: 3 days
Price: 25 900 SEK
Language: English

Course schedule

2 Mar 2020Book now
1 Jun 2020Book now
27 NovBook now
2 Mar 2020Book now
11 May 2020Book now
27 NovBook now
2 Mar 2020Book now
11 May 2020Book now



Contact us for details

+46 40 61 70 720

All prices excluding VAT