Skip to main content
Other Professional CoursesDometrain2026-7 Edition100% Free Video Course

Mastering: C#

Mastering: C# is a C# programming mastery course published by Dometrain Online Academy. This course is a comprehensive, hands-on program designed to help learners master C# programming, from the basics of the language to advanced development techniques used in modern .NET applications. To write high-performance C# applications, you need a solid understanding of how your code is handled by the compiler and runtime. This course provides a comprehensive analysis of C# execution semantics and memory management, built from the compilation pipeline. Ideal for beginners, aspiring software developers, backend engineers, and experienced programmers looking to brush up on their C# skills, this course covers object-oriented programming, collections, generics, LINQ, asynchronous programming, exception handling, file input/output, delegates, events, and advanced language features.Individuals will also learn coding best practices, debugging techniques, performance optimization, and application architecture while building real-world projects. The course concludes with a detailed look at LINQ performance, teaching you how to optimize data pipelines using spanification, type-based specialization, iterator merging, fast path undo, and vectorization.

5.0
(1 reviews)
9.7 Hours On-Demand
Created by Senior Industry Specialist
Uploaded Sep 2026
English
Mastering: C#
Preview This Course
Free$129.99100% Free

Instant high-definition streaming with zero paywalls.

Course Features:
9.7 hours on-demand video
146 complete lectures
1 downloadable project zip file(s)
Streamable on mobile, tablet & desktop
Self-paced curriculum with progress tracking
Direct MP4 downloads & offline video access
Verified course archives hosted on cloud infrastructure.

What You'll Master in this Course

Master the modern C# stack
Master tuples and union types
Master everything about extensions
Master delegates and lambda expressions
Master LINQ
Master LINQ over IEnumerables
And …

Course Curriculum146 Lectures

1 sections • 9.7 hours total length

Prefer offline learning? Download all 146 video lectures and project files for free.
Download Free
Overview
Preview
3m
Working on legacy projects
Preview
2m
The compilation pipeline
3m
Who is this course for and prerequisites
6m
Welcome
5m
What will you learn in this course
12m
Multi-targeting
2m
Adding multi-targeting
3m
What is target framework moniker (TFM)
3m
Using init-only and required properties in .NET Framework
4m
C Language version vs. Target framework
8m
Compiler language specific types
5m
PolySharp- source-only polyfills for C Language
3m
Using PolySharp for init-only and required properties
2m
Choosing the right C Language version
2m
'latest' vs. specific C Language version
7m
Conclusion
3m
Overview 2
3m
Using Directory.Build.props
9m
Module Overview
10m
Storage Model- Inline vs. Indirection
7m
Exploring Storage
3m
Analyzing Storage Model with Benchmarks
6m
Inspecting Type Layout (part 2)
3m
Exploring Access Patterns with Benchmarks
3m
Copy Semantics- Assignment
4m
Analyzing Access Patterns Benchmark Results
10m
Copy Semantics- Parameter Passing
9m
Equality Semantics
4m
Summary
6m
Overview 3
2m
Object Initialization
1m
Analyzing Object Construction Order
4m
Using Analyzers to Avoid Making Virtual Calls in Base Constructors
1m
A Custom Factory Method and Error Handling
2m
Virtual Calls in the Base class Constructor
4m
Exploring a Custom Factory Method Behavior at Runtime
4m
Benchmarking the new() Constraint
6m
Overview 4
3m
The Readonly Field Trap
1m
Conclusion 2
5m
Boxing and Indexers
1m
Exploring Different Kind of Copies
4m
Why the Compiler Makes a Copy
3m
Defensive Copy Overview
3m
Manual Value-based Equality
1m
Overview 5
2m
How to Avoid Defensive Copies for Structs
7m
Conclusion 3
6m
Referential and Value-based Equality
4m
Records Under the Hood
4m
Issues With the Default Structs Equality
4m
Overview 6
2m
Records Limitations
4m
Record Structs vs. Default Structs
7m
System.Tuple vs. System.ValueTuple
3m
Knowing the Limits- When to Move to Actual Types
2m
Union Types- Why Do We Need Them
3m
Union Types- the Basics
6m
Union Types Under the Hood
3m
Tuples in C
6m
Overview 7
1m
UnionTypes - Recap
3m
Section Overview
3m
Argument Validation and Nullable Reference Types
4m
Conclusion 4
9m
Union Types- the Deep Dive
9m
Argument Null Checks in C
2m
Checking for Null in C
3m
Implementing Custom String Validation
1m
Recreating ThrowIfNull Manually
4m
Issues With Nullable Strings in .NET Framework
2m
Analyzing ThrowIfNull Boxing Allocations
4m
Overview 8
3m
Summary 2
3m
The issue with Multi-Targeting
3m
Refactoring to Extension Everything
4m
Extension Methods
5m
Creating Polyfills for Argument Validation
6m
Overview 9
2m
Summary 3
2m
Lambdas Are Ubiquitous
2m
Extending the C Language
4m
Lambdas Under the Hood
6m
Benchmarking Lambda Expressions
6m
NET 10 Delegate De-Abstraction
2m
Profiling Closure Allocations
5m
Method Group Conversion vs. Lambda Expressions
1m
Issues With Capturing Loop Variables
4m
Scope-based Code Generation for Lambda Expressions
4m
Method Group Conversion vs. Lambda Expressions in Action
3m
Overview 10
1m
Exploring Pattern Matching Variety
3m
Imperative vs. Declarative Code
3m
Pattern Matching Exhaustiveness
2m
Recursive Patterns Explained
3m
Two Dimensions of Pattern Matching
3m
Exhaustiveness Checks in Action
4m
Open and Closed Hierarchies
2m
Exhaustiveness Checks for Classes and Unions
4m
Know When to Stop
3m
Section Overview 2
2m
Iterator Design Pattern in C
2m
Overview 11
1m
The Cost of Boxed Iterators
3m
Foreach Under the Hood
3m
Foreach and IEnumerable
3m
Iterator as a State Machine
3m
Enumerable De-Abstraction in .NET 10
5m
Iterator as a Mutable Struct
1m
Overview 12
1m
Manual Iterator Implementation
1m
Summary 4
5m
Refactor To Use Iterator Blocks
3m
Iterator Block Execution Semantics
3m
Lowered C Code for Generated State Machines
2m
State Machine Under the Hood
4m
Benchmarking State Machine Allocations
5m
State Machine Allocations
6m
Resources in Iterator Blocks
2m
De-Abstracting Iterator Blocks in .NET 10
4m
Error Handling in Iterator Block
2m
Overview 13
2m
Two Syntaxes, One Model
1m
Query Comprehensions vs. Method Calls
7m
What Is IEnumerable-T-
2m
Multiple Enumerations with IEnumerable-T-
6m
Overview 14
2m
LINQ Deferred Execution Model
8m
Using Static Analysis to Avoid Multiple Enumerations
3m
Summary 5
10m
LINQ Performance Reputation
2m
Analyzing Enumerable.Any Performance
2m
LINQ vs. Manual Loop Performance Analysis
5m
Mastering LINQ Performance
3m
Performance Optimization Loop
4m
Spanification in LINQ
2m
LINQ Performance Improvements in .NET 10
2m
Iterator Fast Path Overrides
4m
LINQ Performance Optimization Patterns
3m
Iterator Fusion
6m
Type-based Specialization
8m
For loop vs. Enumerable.SequenceEquals
5m
Vectorization in .NET Framework
8m
Conclusion 5
13m
Summary 6
16m

Requirements

  • Basic enthusiasm to learn and follow along with lessons
  • A computer or mobile device with a modern internet connection

Description

Mastering: C# is a C# programming mastery course published by Dometrain Online Academy. This course is a comprehensive, hands-on program designed to help learners master C# programming, from the basics of the language to advanced development techniques used in modern .NET applications. To write high-performance C# applications, you need a solid understanding of how your code is handled by the compiler and runtime. This course provides a comprehensive analysis of C# execution semantics and memory management, built from the compilation pipeline. Ideal for beginners, aspiring software developers, backend engineers, and experienced programmers looking to brush up on their C# skills, this course covers object-oriented programming, collections, generics, LINQ, asynchronous programming, exception handling, file input/output, delegates, events, and advanced language features.Individuals will also learn coding best practices, debugging techniques, performance optimization, and application architecture while building real-world projects. The course concludes with a detailed look at LINQ performance, teaching you how to optimize data pipelines using spanification, type-based specialization, iterator merging, fast path undo, and vectorization.

Instructor

S

Senior Industry Specialist

Specialist in Other Professional Courses

Passionate educator focused on real-world practical skills, modern frameworks, and production-ready engineering practices. Delivering step-by-step masterclasses accessible to learners globally on MJ Accedemy.

Recommended Curriculum

Students Also Viewed