Advanced Topics in C# (Udemy.com)
A discussion of the more complicated aspects of the C# language
Created by: Dmitri Nesteruk
Last updated November 2025
What you will learn
- Apply sophisticated C# solutions to problems
- Explore different programming styles and approaches
How it compares
Against the other 194 rated Udemy courses in C# on CourseDuck:
- Rating4.6 out of 5higher than 76% of them
- Reviews1,151#66 of 195 by number of reviews
- Length5.3 hoursshorter than 53% of them
- Last updatedNovember 2025more recently than 76% of them
Course Description
This course presents a collection of interesting/unusual case studies where C# is used to solve a particular problem. This course is 100% practical, and demonstrates mainly the practical applications of C# in building solutions to common problems.
The main themes covered in this course are:
Numerics — the specifics of how to work with numeric types in .NET, with a focus on SIMD data types and operations.
Reflection — how to operate reflection mechanisms to investigate assemblies and types, how to create types and invoke their members. Also a look at the practical use of reflection for working with attributes.
Memory Management — a discussion of latest C# features for high performance computation, such as the passing of value types by reference, ref structs and Span<T>.
Extension Methods — a seemingly simple mechanism has plenty of advanced uses.
In addition, this course comes with a section dedicated to assorted topics that also showcase advanced uses of C#. These topics include:
Exploiting IDisposable — shows how you can abuse the IDisposable/using mechanism in order to dynamically define operations as pairs of start/end calls. Useful for things like simple performance measurement.
Continuation Passing Style — demonstrates how you can define complex algorithms in terms of sequentially invoked methods with customized return types indicating the result of the operation.
Local Inversion of Control shows that sometimes inversion of control happens at a local scale. Here we use extension methods to invert control on a bunch of different data types, providing useful functionality.
Beyond the Maybe Monad — even though C# introduced the ?. operator in order to chain null checks together, the classic monad implementation, based on extension methods, is still relevant, as it can also handle other scenarios.
Mnemonics — not so much a C# language feature but rather an interesting way of defining huge sets of similar code templates that can be expanded quickly to the code constructs you need the most.
Course Pre-Requisites
Good understanding of C#
Understanding of object-oriented programming (OOP)
Experience writing real-world C# applications
Course Organization
100% hands-on
Demonstrated either in Visual Studio or using the Kinetica rendering engine
Demos are single .CS files
Heavy use of IDE features
Ad-hoc use of 3rd-party packages
Enjoy!
Instructor Details
- 4.6 Rating
1,151 Reviews
Dmitri Nesteruk
Dmitri is a quant, developer, book author and course author. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.
More courses by Dmitri Nesteruk
Learn Parallel Programming with C# and .NET (2019)
4.6 (4,564 Reviews)
Provider: Udemy
Time: 5.3h
$14.99
More C# courses
C# Developers: Double Your Coding Speed with Visual Studio (2018)
4.7 (4,035 Reviews)
Provider: Udemy
Time: 2.2h
$13.99
Object Oriented Programming with C# - Beginner to Advanced (2020)
4.7 (2,063 Reviews)
Provider: Udemy
Time: 5.6h
$64.99
Learn Game Development with C# Programming and MonoGame! (2025)
4.7 (1,094 Reviews)
Provider: Udemy
Time: 6.6h
$12.99
Reviews
By Juan Camilo Panqueva Benitez on 4/3/2024
Dayum! More than half of the things presented here were unknown by me, you must be a god of C# Thank you, very informative, jyst what I expected, thank you and keep it up!
By Thomas Grim on 1/2/2024
I wasn't really going to write anything, but as this is one of the better resources I've found, I figured I'd take the time. While it is one of the few courses I've found that lived up to the categorization (of 'expert' or 'advanced'), and the course creator is obviously very knowledgeable, it also seemed to mostly be the demonstration of rewriting the code one could glean by reading the documentation. This is not to say I didn't learn anything from it, or regret its acquisition, but I would like to see more depth in terms of real-world examples, comparisons between other architectures that can accomplish the same tasks in terms of situational suitability, and more generically speaking I suppose, accompanying the 'how' with the 'why' so to speak. Perhaps I'm just greedy. :) But none the less, it's a great resource.
By G L on 6/21/2023
Chock full of good information, but please go a bit slower. It takes time to digest some of these more advanced concepts. Overall, this is great for someone who has an intermediate level of experience and is open to move to "the next level".
By Anonymized User on 2/25/2023
This course is very informative in detail. But the high-level section like "Memory Management" does not have many examples with detailed explanations. But this is still a good course to learn and explore the deep of the C# language.
By Stanislav Novikov on 11/13/2022
For once a course that includes "Advanced C#" in the name and actually stands by its title. Amazing topics that actually broaden your horizons on what is C# and what is possible. Some topics may also have a flag "What not to write in production" and yet are very useful just to have a perspective. Big thanks for the course I had to go to the Microsoft docs after every second video to read up about all those great topics. Keep up the good work, 10/10
By Joshua Howard on 4/3/2021
Section 4: Extension Methods and Persistence was a crazy ah hah moment for me. It was such a beautiful and clever way to track some object side-data. I was seriously getting teary eyed. Dmitri is is the best!
By David Flores Escobosa on 1/2/2021
I strongly recommend this course. I am a professional developer who have been coding for more than half a life and personally found that the choice of topics and the examples presented were really brilliant. Dmitri is a top class instructor and he guides you from a practical approach, but always keeping in mind theorical principles and patterns. It's true that a solid experience with C# is highly recommendable to take the course, but is also possible to enforce some topics individually (I found the Reflection and Dynamic Programming parts especially though) In summary, a must-have course which works well with having a quick update in this true swiss-knife of programming that is C#
By Dave Roberts on 12/23/2020
Having done basic day-to-day business app dev in C# for a number of years, this course provided an excellent insight into what can be done, looking forward to any new stuff that will be added.
By Moddassir Zaman on 12/20/2020
its really good, exploring some under the hood feature
By Pedro Igor on 12/20/2020
Great! Great!
By Airton Gomes de Lima on 12/13/2020
The best instructor on Udemy!
By Rejish on 12/13/2020
dmitiry nesteruk is a brilliant teacher. I love all of his course.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 92 / 100












