- Total 0 kr
C# Master Class
Watch this product and we will notify you once it is back in stock.
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?
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 tame asynchrony with using the async/await keywords - and much more!
The course is up-to-date with the lastest C# 9 and and most exercises are done targeting the latest version of .NET 5. Even if you don't use .NET 5 or .NET Core today, this course is still relevant and most of the concepts taught in this course works on both .NET 5, .NET Core and .NET Framework.
The course consists of plenty of hands on exercises where you get to apply the things you learn.
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.
Prerequisites
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
Introduction
- C# History
- .NET Standard
Roslyn compiler
- Analyzers
- Source Generators
.NET Core
- .NET Core overview
Being Effective with Visual Studio 2019
- Advanced Visual Studio features
- Intelli Code
- Live Share
Lambda and Delegate refresher
- Delegates
- Lambda expressions
- Func and Action
- Predicate
Value Tuples
- Tuples vs Value Tuples
- Deconstruction
- Discard
Pattern matching
- Switch expressions
- Property patterns
- Positional patterns
- Tuple patterns
- Relational and logical patterns
Working with null
- Null-conditional operator
- Non-nullable reference types
- Null-forgiving operator
OO and dynamic
- Dynamic objects
- Late binding
Classes: outside-in
- Object Oriented design
- Command-Query Separation
- Command Pattern
Dependency Inversion
- The Dependency Inversion Principle
- Injecting dependencies
- DI containers
- .NET Core generic host
Higher Order Programming
- The lambda wrapper pattern
- Closure semantics, and its uses
- Function generators
- Lambda vs local functions
Reflective Programming
- Runtime structure of a program
- Reflection
- Creating types
Event driven architecture
- Complexity and boundaries
- Event aggregator pattern
- Publish/subscribe
- MediatR
- C# 9 Records and immutability
Asynchronous programming
- The Task abstraction
- The Thread pool
- Waiting for tasks
- Continuations
- Async and await keywords
Encoding and Unicode
- Understanding unicode
- UTF-8 and UTF-16 encoding
- Homographs