C# Advanced Language Features
Learn how to best use the advanced language features of C#. This course will teach you how to apply each of them in a real application, as well as where they are best suited.
What you'll learn
Creating an application that best uses the language features of C# can be tricky, especially when you introduce the advanced features for example lambdas, delegates, pattern matching and record types. In this course, C# Advanced Language Features, you’ll learn how to best approach the advanced language features of C#, to take your application development to the next level. First, you’ll explore each language feature to understand how it works, and where it has its place in your applications. Next, you’ll discover the best practices around using the language feature. Finally, you’ll learn how to combine one, or more of the language features as you progress throughout the course. When you’re finished with this course, you’ll have the skills and knowledge of building applications that use advanced language features in C# needed to build power, real-world applications.
Table of contents
- Introducing the Delegate 8m
- Creating, Using and Invoking a Delegate 13m
- Checkpoint 02 - Create a delegate 0m
- Delegates with Return Values and Parameters 9m
- Multicast Delegate and Chains 7m
- Introducing Lambdas and Anonymous Functions 10m
- Lambdas in Minimal APIs 4m
- Using Action<T> and Func<T, TResult> 7m
- Summary 5m
- Checkpoint 03 - Create a Func 0m
- Exercise 02 - Creating and Using Delegates 0m
- Introducing an Event 11m
- Checkpoint 04 - Create an Event 0m
- Subscribing to Events 6m
- Using Event Data 12m
- Checkpoint 05 - Subscribe to an Event 0m
- Why Unsubscribing Is Important 10m
- Summary 5m
- Exercise 03 - Creating Events with Custom Data 0m
- Exercise 04 - Subscribing and Unsubscribing from Events 0m
- Method Overloading 3m
- Operator Overloading 10m
- Checkpoint 06 - Create an Operator Overload 0m
- Introducing Extension Methods 5m
- Creating an Extension Method for IEnumerable<T> 5m
- Creating an Extension Method Library 6m
- Checkpoint 07 - Create an Extension Method 0m
- Real-world Implementations of Extension Methods 5m
- Summary 6m
- Exercise 05 - Create and Use an Extension Method 0m
- Introducing Tuples 7m
- Checkpoint 10 - Create a Tuple 0m
- Tuple Assignment and Deconstruction 8m
- Using Tuples as Return Types or Parameters 11m
- Checkpoint 11 - Tuple Assignment 0m
- Deconstruct Other Objects 8m
- Summary 6m
- Checkpoint 12 - Create a Tuple with Explicit Names 0m
- Checkpoint 13 - Return a Tuple 0m
- Exercise 07 - Using Tuples 0m
- Exercise 08 - Deconstructing a type 0m
- Introducing Pattern Matching 9m
- Switch Expression 8m
- Type, Declaration, and Constant Patterns 4m
- Checkpoint 14 - Create a switch expression 0m
- Positional Pattern 7m
- Property Pattern 3m
- Checkpoint 15 - Positional Pattern 0m
- Logical and Relational Patterns 11m
- Checkpoint 16 - Tuple Pattern 0m
- Summary 6m
- Checkpoint 17 - Property Pattern 0m
- Checkpoint 18 - Logical Patterns 0m
- Exercise 09 - Using Pattern Matching 0m