Udemy

Advanced Topics in C#

Enroll Now
  • 7,655 Students
  • Updated 11/2025
4.4
(1,039 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
5 Hour(s) 18 Minute(s)
Language
English
Taught by
Dmitri Nesteruk
Rating
4.4
(1,039 Ratings)

Course Overview

Advanced Topics in C#

A discussion of the more complicated aspects of the C# language

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!

Course Content

  • 7 section(s)
  • 46 lecture(s)
  • Section 1 Introduction
  • Section 2 Numerics
  • Section 3 Reflection
  • Section 4 Dynamic Programming
  • Section 5 Extension Methods
  • Section 6 Memory Management
  • Section 7 Assorted Topics

What You’ll Learn

  • Apply sophisticated C# solutions to problems
  • Explore different programming styles and approaches


Reviews

  • H
    Hailey Santos
    5.0

    Perfect!

  • A
    Andre Luiz Gomes dos Santos
    3.5

    The course could have been more specific. While some aspects were very niche, others were quite simple and, in my opinion, did not really qualify as "Advanced Topics." Another point was the section on dynamic. I expected him to also explain its specific use cases and when not to use it with more emphasis. I know it is, to some extent, self-explanatory, but it would have been helpful to provide more information on why it is not as widely used as it might seem. Aside from that, this course is very useful for those who have 1–2 years of experience programming in C#.

  • J
    John Herbert
    4.0

    Knowledgeable and easy to follow along with

  • K
    Kris Landry
    4.0

    I'm learning a lot but some sections could use an explanation on real world examples/implementation.

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed