C# Expert
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.
Utbildningsformer
Remote
Längd
3 dagar
Pris
28450 kr
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# 12 and .NET 8, 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.
What You Will Learn in the C# Expert Course
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.
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
- Editor config
- Dev tunnels
- Hot reload
- HTTP files
From Delegates to Lambda
- Delegates
- Anonymous methods
- Lambda expressions
- Func
and Action
Value Tuples
- Classic generic tuples
- Anonymous types
- Value Tuples
- Deconstruct
Pattern matching
- Pattern matching with the if and 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
C# 12
- Primary constructors
- Collection expressions
- TimeProvider
Advanced lambda expressions
- Refactoring using lambda expressions
- Closures
- Common problems with closures
- Recent lambda expressions improvements
- Local functions
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
and much more!