We provide course about C# Expert: Learn to Master C#. 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.
What Will Developers Learn:
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.
Agenda:
1) The .NET Ecosystem:
• .NET Framework vs. .NET Core vs. .NET
• Top-level statements
• .NET Standard
2) Source Generators:
Roslyn
• Analyzers
• Code-fixes
• Source generators
3) Visual Studio:
• Dev tunnels
• Hot reload
• HTTP files
4) Editor Config:
• Controlling warnings and errors
5) From Delegates to Lambda:
• Delegates
• Anonymous methods
• Lambda expressions
• Func and Action
6) Advanced Lambda Expressions:
• Refactoring using lambda expressions
• Closures
• Common problems with closures
7) Optimizing Lambda Expressions:
• Recent lambda expressions improvements
• Local Functions
8) Value Tuples:
• Classic generic tuples
• Anonymous types
• Value Tuples
• Deconstruct
9) Pattern Matching:
• Switch statement
• Null checks
10) Switch Expressions:
• Discard
• Patterns
11) Non-Nullable Reference Types:
• Nullable value types
• Non-nullable reference types
• The null-forgiving operator
• Null-coalescing assignment operator
• Nullable attributes
12) Value Objects:
• Primitive obsession
• Implementing value object
• Equality
• Comparing and sorting
• Overriding ToString()
• Always valid and Immutability
• Immutable operations
13) Records:
• Positional records
• Records vs manually created value objects
• Nondestructive mutation
• Extending records
• Struct and class records
14) Async:
• Tasks
• Waiting for tasks
• Cancellation tokens
• Async / await
15) Dynamic:
• Dynamic types
• Expando Objects
• Dynamic binding
16) Reflection:
• Working with types
• Querying and inspecting our applications
• Creating instances of types
• Pros and cons of using reflection
17) Wats New in C# 12, 13 and 14:
• Primary constructors
• Collection expressions
• TimeProvider
Instructor: Tore Nestenius
Tore Nestenius has more than 25 years of professional experience in software development and over a decade specializing in developer training, Tore is a seasoned industry expert. He is an independent consultant, delivering high-quality training, coaching, and consulting services. His areas of focus include .NET, ASP.NET Core, Software Architecture, Web Security, and Identity Management. He is also a Microsoft .NET MVP and blogs frequently at https://nestenius.se/.
Target audience:
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#.
Prerequisites:
• 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.