Course Summary

Expanded with new content and updated for C# 12 and .NET 8, this three day course takes you on an intensive deep dive into the advanced concepts and tools of C# in .NET. Crafted with over 20 years of experience, this course is packed with presentations, live demonstrations and hands-on exercises that equip you with the best practices and tools for making your life easier as a developer, while helping you to create exceptional modern applications.

With a range of materials, demonstrations and exercises with access to a seasoned instructor’s expertise, the course aims to take you on a deep dive that takes your understanding to new heights. Beyond the technical skills (see below), you will learn new strategies to keep your code clean, maintainable and reliable. You will be better equipped to tackle complex coding challenges with more agility and tools, enabling you to build state-of-the-art applications.

This course is for developers that want to master the advanced features of C#, enabling them to write applications that deliver more value, performance and scalability using the latest tools and techniques that are being utilized today. The course covers the latest features and inner workings of C# 12 and .NET 8, but is also applicable to developers using older versions of C#.

This course assumes you have worked as a C# developers for at least a year, and that you have the skills covered in our C# Fundamentals course. You should be comfortable using Visual Studio, Lambda expressions, and LINQ.

Denna kurs har ingen certifiering

Tore Nestenius är en uppskattad kursledare med en särskild förmåga att anpassa undervisningen efter varje deltagares behov. Han är skicklig på att förmedla kunskap på ett sätt som är lätt att förstå och tillämpa i praktiken.

I Tores kurser blandas teori med praktiska övningar, vilket ger deltagarna möjlighet att direkt använda det de lär sig. Med över 14 års erfarenhet inom områden som mjukvaruarkitektur, .NET, C#, ASP.NET Core och webbsäkerhet, är han en erfaren utbildare som engagerar och berikar sina kursdeltagare.

The .NET eco­sy­stem

  • .NET Framework vs. .NET Core vs. .NET
  • Top-level statements
  • .NET Standard

Sour­ce Ge­ne­ra­tors

  • Roslyn
  • Analyzers
  • Code-fixes
  • Source generators

Vi­su­al Stu­dio

  • Editor config
  • Dev tunnels
  • Hot reload
  • HTTP files

From De­le­ga­tes to Lamb­da

  • Delegates
  • Anonymous methods
  • Lambda expressions
  • Func and Action

Va­lue Tuples

  • Classic generic tuples
  • Anonymous types
  • Value Tuples
  • Deconstruct

Pat­tern matching

  • Pattern matching with the if and switch statement.
  • Null checks

Swit­ch Ex­pres­sions

  • Discard
  • Patterns

Non-nul­lab­le re­fe­rence ty­pes

  • Nullable value types
  • Non-nullable reference types
  • The null-forgiving operator
  • Null-coalescing assignment operator
  • Nullable attributes

Va­lue ob­jects

  • Primitive obsession
  • Implementing value object
  • Equality
  • Comparing and sorting
  • Overriding ToString()
  • Always valid and Immutability
  • Immutable operations

Re­cords

  • Positional records
  • Records vs manually created value objects
  • Nondestructive mutation
  • Extending records
  • Struct and class records

Async

  • Tasks
  • Waiting for tasks
  • Cancellation tokens
  • Async/await

C# 12

  • Primary constructors
  • Collection expressions
  • TimeProvider

Ad­van­ced lamb­da ex­pres­sions

  • Refactoring using lambda expressions
  • Closures
  • Common problems with closures
  • Recent lambda expressions improvements
  • Local functions

Dy­na­mic

  • Dynamic types
  • ExpandoObjects
  • Dynamic binding

Re­flec­tion

  • Working with types
  • Querying and inspecting our applications
  • Creating instances of types
  • Pros and cons of using reflection

and much more!

Course Overview

28 450 kr

3 dagar

Can’t find a (suitable) date, but are interested in the course? Send in an expression of interest and we will do what we can to find a suitable opportunity.

Customized Courses

The course can be adapted from several perspectives:

  • Content and focus area
  • Extent and scope
  • Delivery approach

In interaction with the course leader, we ensure that the course meets your needs.

Skicka intresseanmälan för utbildningen

Send an expression of interest for the training