C# Expert: Learn to Master C#

Deepen your understanding of C# and .NET with practical examples, live coding, and expert guidance over three focused days

Dager: 3

Pris: 21500

Kurskategori: Applikasjonsutvikling

Kursdatoer er ikke helt avklart ennå, men kontakt kurs@bouvet.no for påmelding!

What Will Developers Learn?
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. 

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.

Who Is This Course For?
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# 14 and .NET 10, but is also applicable to developers using older versions of C#.

What Are The Prerequisites for C# Expert?
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.

Kursdatoer er ikke helt avklart ennå, men kontakt kurs@bouvet.no for påmelding!

Agenda

The .NET Ecosystem

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

Source Generators

  • Roslyn
  • Analyzers
  • Code-fixes
  • Source generators

Visual Studio

  • Dev tunnels
  • Hot reload
  • HTTP files

Editor Config

  • Controlling warnings and errors.

From Delegates to Lambda

  • Delegates
  • Anonymous methods
  • Lambda expressions
  • Func<T> and Action<T>

Advanced Lambda Expressions

  • Refactoring using lambda expressions
  • Closures
  • Common problems with closures

Optimizing Lambda Expressions

  • Recent lambda expressions improvements
  • Local Functions

Value Tuples

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

Pattern Matching

  • Switch statement
  • Null checks

Switch Expressions

  • Discard
  • Patterns

Non-Nullable Reference Types

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

Value Objects

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

Records

  • 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

Dynamic

  • Dynamic types
  • ExpandoObjects
  • Dynamic binding

Reflection

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

What’s New in C# 12, 13, and 14

  • Primary constructors
  • Collection expressions
  • TimeProvider

Ønsker du å samle flere ansatte til et bedriftsinternt kurs?

Finner du ikke det helt optimale kurset eller kombinasjonen av kurs? Da ordner vi det - sammen. Vi kan tilrettelegge kurs slik at de inneholder akkurat det dere har behov for. Vi kan sette opp et helt nytt kurs, eller tilpasse eksisterende kurs og materiell. Flere medarbeidere kan selvfølgelig også samles til et eget felles kurs, for maksimal effektivitet. Ta kontakt med meg for et forslag til gjennomføring og et tilbud basert på deres behov.

Henrik Buzzi