C# Essential Training 2: Generics, Collections, and LINQ
3h 16mBeginner2023-12-08
Authors

Matt Milner
Independent Consultant, Web Developer, Trainer
Course details
As one of the most popular programming languages, C# continues to make programming easier and more fun with each new version. In this course, instructor Matt Milner digs deeper into essential features of C#, such as generic types, collections, handling exceptions, asynchronous programming with tasks, and more. Matt begins with helping you understand and work with generic types, then moves on to understanding collection types, working with collections, and understanding concurrent collections. He walks you through handling different types of exceptions, including creating custom exceptions. Matt explains threading basics and shows you how to use async and await in the task based programming model. After covering delegates and events, he goes over the case for extension methods, as well as how to write and use an extension method. Plus, Matt discusses the goals of Language Integrated Query (LINQ), how to query collections with LINQ, and how to filter and order your queries.
Skills covered
C#Database DevelopmentDatabase ManagementEssential TrainingProgramming LanguagesMicrosoftSoftware Development
Concepts
0. Introduction
- 01 - Essentials deep dive
- 02 - What you should know
- 03 - CoderPad tour
1. Generics
- 04 - Understanding generics
- 05 - Working with generics
- 06 - Defining generic types and methods
- 07 - Generic constraints
- 08 - Solution - Generic type with constraints
2. Working with Collections
- 09 - Understanding collection types in the BCL
- 10 - Choosing the right collection type
- 11 - Working with collections
- 12 - Working with keyed collections
- 13 - Understanding concurrent collections
- 14 - Solution - Choose the right collection
3. Exception Handling
- 15 - Basics of try-catch-finally
- 16 - Exception filtering by type with catch
- 17 - Exception filtering with when
- 18 - Throwing and rethrowing exceptions
- 19 - Creating custom exceptions
- 20 - Solution - Multiple exception types
4. Programming Threads with async and await
- 21 - Threading basics
- 22 - Basics of using async and await
- 23 - Task management
- 24 - Handling errors when using await
- 25 - Solution - Task management
5. Delegates and Events
- 26 - Understanding delegates
- 27 - Understanding events
- 28 - Common delegates with Action T and Func T
- 29 - Understanding lambda expressions
- 30 - Expressions as delegates
- 31 - Other uses for expressions
- 32 - Solution - Delegate using Func T
6. Extension Methods
- 33 - The case for extension methods
- 34 - Writing an extension method
- 35 - Using an extension method
- 36 - Common extension methods on collections
- 37 - Solution - Extension method
7. Language Integrated Query (LINQ)
- 38 - Understand the purpose of LINQ
- 39 - Querying collections with LINQ
- 40 - Filtering and ordering queries
- 41 - Other sources for LINQ
- 42 - Solution - LINQ query to filter and sort
Conclusion
- 43 - Build something and continue learning
Related courses
- Advanced C# Programming Concepts
- C# Hands-on Practice with Data-Structures
- Advanced C#: Functional Programming Patterns
- Ten Tips for the C# Developer
- C# and .NET Essential Training
- Mastering AI Tools for Efficient C# Development
- Advanced C#: Classes, Records, and Structs
- C# and .NET Development with VS Code