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
02:57 Free preview
What will you learn in this course?
04:03 Free preview
Who is this course for and prerequisites
03:20 Free preview
Primer on Classes vs Value Types
07:02
Enums
15:02
Structs
07:43
The Problem with Equality
11:52
Records
13:59
Inheritance - Intro
09:24
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:11
Head to Head - Composition & Summary
09:52
Generics
16:49
Tuples
17:50
Encoding Strings and Bytes
09:57
Streams
11:54
Reading and Writing Files
12:41
Using & Disposable
09:51
XML and JSON
13:38
Callbacks and Delegates
14:40
Extension Methods
05:05
LINQ
16:27
Lazy
05:43
Events
13:41
Multi-project solutions
06:48
Internal access modifier
05:34
NuGet Packages
05:14
Async & Concurrency Patterns Intro
05:38
Threads
08:09
Background Workers
09:36
Task Objects
09:18
Async/Await
18:39
Cancellation Tokens
09:03
Course conclusion
03:07

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

Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn More
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn More
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn More
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn More
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