Skip to content
UdemyC#Paid courseExpert levelCertificate

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

icon
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

icon
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!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

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. 

icon
More courses by Dmitri Nesteruk

$124.99

$13.99

$14.99

$14.99

$11.99

$14.99

icon
More C# courses

$84.99

$13.99

$64.99

$19.99

$12.99

$84.99

icon
Reviews

4.6

1,151 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

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.

Showing 12 of 19 reviews

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100