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.
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
- Lambda expressions
- Func and Action
- 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
- Object Oriented design
- Command-Query Separation
- The Dependency Inversion Principle
- Injecting dependencies
- DI containers
Higher Order Programming
- The lambda wrapper pattern
- Closure semantics, and its uses
- Function generators
- Runtime structure of a program
- Creating types
Event driven architecture
- Complexity and boundaries
- Event aggregator pattern
- The Thread pool
- The Task abstraction
- Waiting for tasks
- Async and await keywords
- Async lambdas
- 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
Exploring the non-nullable type warnings in C# 8Read more
C# 8 will bring us many new exciting features
Course update: .NET Core 3.x and C# 8Read more
.NET Core 3.0 and C# 8 will be released at the end of September, of course we keep our courses up to date.
How to install RavenDB on a VM in Azure (step-by-step, part 1)Read more
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.
How to install RavenDB on a VM in Azure (step-by-step, part 2)Read more
A guide in three parts, this is the second part.
How to install RavenDB on a VM in Azure (step-by-step, part 3)Read more
This is a guide in three parts. In this third part, we show how you import a certificate.
Contact us for details+46 40 61 70 720
All prices excluding VAT