Deep Dive: C#

Deep dive into the C# programming language

About This Course

Picking up where he left off on the Getting Started with C# course, Microsoft Principal Software Engineering Manager Nick Cosentino will dive deeper into C#'s feature set and explain more advanced features and patterns. This course covers features such as object-oriented programming with C#, with sections on inheritance and composition, low-level streams, advanced methods and functions like callbacks and delegates, and explaining multithreading and asynchronous programming. If you understand the basics of C# and want to gain even more in-depth knowledge of the language, then this course is for you.

Course Curriculum

6h 28m 8 sections
Welcome
2:14 Free preview
What will you learn in this course?
4:03 Free preview
Who is this course for and prerequisites
3:20 Free preview
Primer on Classes vs Value Types
7:02
Enums
15:02
Structs
7:43
The Problem with Equality
11:52
Records
13:59
Inheritance - Intro
9:25
Inheritance - Vehicle Example
11:33
Interfaces
13:12
Abstract Classes
12:30
Working with Protected and Virtual
12:10
Composition
13:36
Head to Head - Inheritance
10:12
Head to Head - Composition & Summary
9:52
Generics
16:49
Tuples
17:50
Encoding Strings and Bytes
9:57
Streams
11:54
Reading and Writing Files
12:41
Using & Disposable
9:52
XML and JSON
13:39
Callbacks and Delegates
14:40
Extension Methods
5:05
LINQ
16:27
Lazy
5:43
Events
13:41
Multi-project solutions
6:48
Internal access modifier
5:34
NuGet Packages
5:14
Async & Concurrency Patterns Intro
5:38
Threads
8:09
Background Workers
9:36
Task Objects
9:18
Async/Await
18:39
Cancellation Tokens
9:03
Course Conclusion
2:14

Meet Your Instructor

Nick Cosentino

Nick Cosentino

Nick Cosentino is a Principal Software Engineering Manager at Microsoft and a .NET content creator. He manages the teams responsible for deploying the hundreds of services supporting the Microsoft365 suite of products to serve users across the planet. Nick brings his unique experiences to the Big Tech world having worked at a startup that scaled from a handful of employees to hundreds before it went public.

Nick runs a software engineering and dotnet-focused blog as well as a YouTube channel called Dev Leader. While he enjoys solving complex problems with software solutions, Nick is passionate about reducing barriers for people to get started on their software engineering journey.

View all courses by Nick Cosentino

What's New

Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn More
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn More
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn More
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn More
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn More