C# 9.0 Professional

online course

The future is here - learn how to use it


192€ | 237$ | 4690 Kč | 849 zł

(+ VAT if applies)

C# 9.0 Professional course in numbers:

180 attendees

1 returns

40 lessons

9 homework assignments

514 minutes

382 slides

Course description

The world is changing fast and so C# does either. Some of us can even remember introducing generics in C# 2.0 or async/await in C# 5.0. Many of the new changes introduced in the successive versions of C# language quickly has become golden standard in everyday programming. Some maybe become a little less popular, but it is still good to know them to feel comfortable in various C#/.NET codebases we can encounter.

That's why we believe an in-depht and complex training about the newest C# 9.0 is so important. We can expect features like records and init only setters will quickly become a new standard while using C#. Moreover, many smaller improvments in the fields like type system and new syntax here and there will quickly blend into the everyday reality of .NET developers. Proficiency in C# 9.0 will become not only useful, but required.

We prepared C# 9.0 Professional online course to help you in gaining all the knowledge related to the newest C# edition. It is 9 solid weeks of learning through which we will show you all the new features. Not only explaining their syntax but also rationale behind them and their practical use cases. Every module contains an automated, unit-tested homework to give you fast and consistent learning feedback.


192€ | 237$ | 4690 Kč | 849 zł

(+ VAT if applies)

Course agenda


Records and immutability - part I

  1. syntax and rationale
  2. init only setters
  3. records
  4. - positional and non-positional records
    - (de)construction
    - immutability and equality
    - with expression
    - printing
  5. Homework

Records and immutability - part II

  1. Inheritance
  2. vs F#
  3. records in Test Builder pattern
  4. less known facts
  5. Homework

Top-level statements

  1. syntax and possibilities
  2. behind the scene: generated class/method
  3. local variables, functions & types
  4. use case: the simplest WebAPI examples
  5. use case: teaching/demos
  6. Homework

Pattern matching enhancements

  1. switch expression syntax
  2. type pattern
  3. and/or/not and parenthesized ()
  4. relational patterns
  5. use cases: is pattern expressions, switch expressions, nested patterns
  6. Homework

Target typing

  1. Target-typed new expressions
  2. - vs var
    - throw new()
  3. Target-typed conditional expressions
  4. Homework

Functions improvements

  1. Static anonymous functions/lambda expressions
  2. - reducing allocations
    - behind the scenes: generated class/method
  3. Attributes on local functions
  4. - use cases: Conditional, MethodImpl, DllImport
  5. Homework

Type system improvements

  1. Covariant return types
  2. - covariance and contravariance
    - use case: factory methods, builder pattern
    - the Clone story
  3. Extension GetEnumerator support for foreach loops
  4. - everything as collection
    - async enumerables
  5. Lambda discard parameters
  6. Homework

Low-level improvements

  1. Native sized integers
  2. - vs IntPtr/UIntPtr
    - why Mono has it?
  3. Function pointers
  4. - behind the scene: calli and ldftn
  5. Suppress emitting localsinit flag
  6. - SkipLocalsInit on a local function :)
  7. Homework

Code generators support

  1. New features for partial methods
  2. - definition vs declaration
    - partial classes recap - WinForms
  3. Module initializers
  4. - eager, one-time initialization
    - case: source generators global initialization logic
  5. Homework

What do I get?

🔍 Access to 9-weeks C# 9.0 Professional on-line course - Access to full C# 9.0 course material.

🔍 Automated homeworks - Homeworks based on unit tests allows you to limitless experiments and fast, consistent feedback.

🔍 Access to the course platform - The access to the platform as well as to our dedicated discussion page, which allows you to contact the instructor and other course participants.

🔍 Access to the repository - Besides the access to the recordings and ability to contact others, you receive the access to repository that includes code examples.


192€ | 237$ | 4690 Kč | 849 zł

(+ VAT if applies)

Course authors

Szymon Kulec

Dotnetos co-founder, architect, speaker

I like to incorporate an unique combination of Software Architecture and Performance Engineering. With broad knowledge of modern architecture principles, distributed systems, as well as deep understanding of performance principles I make every allocation fear for its existence. I never allocate before noon.

Konrad Kokosa

Dotnetos co-founder, Microsoft MVP, author, speaker

I’m a Pro .NET Memory Management book author and independent consultant, blogger, speaker and a professional Tweeter [see: Twitter]. I share my passion as a .NET trainer, especially in the performance and app diagnosis field.

Łukasz Pyrzyk

Dotnetos co-founder, Microsoft MVP, author, speaker

I’m a software developer interested in performance topics, microservices and optimizations. Moreover, I’m a speaker (more than a blogger) and an active Twitter user.

Questions and answers

🔍 Which programming language will be used in examples?

All the examples as well as all our work will be done in C# 9.0, of course 💜

🔍 Which version of .NET will be used in samples?

We will work .NET 5, but mentioning possibilities to use presented C# 9 features on older frameworks.

🔍 When does the course begin and for how long does it last?

You get access to all the materials immediately after obtaining the license

🔍 What is the format of that course?

It is a video course. Recordings are uploaded to the platform. After signing in with your login and password, you have an access to your account. Besides the recordings, you'll gain access to our Community platform where you can communicate with the instructor and other participants. All accesses will be sent to you after the purchase.

🔍 How long will I have the access to the course?

You will receive life-long access to that edition of the course, including its updates.

🔍 What if I would not be satisfied with the course?

If you watch less than 30% of the course and decide that the course is not for you, you will receive a refund. You have 30 days to decide. Just write to contact[at]dotnetos.org, and we will return you 100% value.

🔍 Will I receive all the course material at once?

Yes. All material is available immediately. We recommend watching one module per week to not overwhelm you.

🔍 Will I receive an invoice?

Yes, you will receive a VAT invoice with your purchase, if it applies. It will be sent to you within few days to the e-mail address provided during the order.

🔍 How can I pay for that course?

Payment is done with the use of our on-line shop. Each type of payment supported by it is ok for us.

🔍 Can I pay later, on installments, etc.?

No. During the pre-sale course is sold for the lowered price. If you can't pay now, joining later will be possible, however the course will cost more.

🔍 How many people can access one course account?

The access is given to one person, using an address provided during the purchase. If you are interested in buying more accesses please contact us using contact[at]dotnetos.org e-mail address.

🔍 What if I have a problem with something or something is unclear?

Write to us with that e-mail address: contact[at]dotnetos.org.


If you think that C# 9.0 Professional is a nice dose of knowledge, share it with friends. Just use one of the buttons below!
Thank you!