Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Spice Up Your C# Code With Advanced Language Features to your Wishlist.

Add to Wishlist

Spice Up Your C# Code With Advanced Language Features

A comprehensive guide on how to spice up your C# code with many advanced language features
4.4 (44 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
483 students enrolled
Created by Mark Farragher
Last updated 3/2016
$10 $90 89% off
4 days left at this price!
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?

BEST COURSE CHOICE for beginners and intermediate developers who want to take their skills to the next level and deepen their understanding of the C# language.

In this course I am going to teach you some very cool and advanced C# language features.

So let's see a show of hands. How many of you can explain what the yield return statement does? What are the benefits of auto properties? And what's the risks of using captured variables in lambda expressions?

If you have no idea what an 'auto property' is, don't worry about it! The C# language is absolutely packed with goodies, and it is almost impossible to keep up with all the latest features. I bet there are many power features that you've never used before.

But this can also hold you back

Not knowing about these power features means you are probably typing way too much code that the C# compiler can produce for you automatically. This is slowing you down and it may reduce the quality of your code.

Let me help you!

In this course I will teach you 10 advanced power features of the C# language. You will learn all about the null coalescing operator, auto properties, object initialisers, lambda expressions, and much more! And I will also show you some very cool new language features that were introduced in C# version 6.

By the end of the course you will be fluent in advanced C#, and this will help you write better, cleaner and more compact code.

Why should you take this course?

You should take this course if you are a beginner or intermediate developer and want to learn advanced features of the C# language. This might seem like a challenge, but all of my lectures are very easy to follow and I explain everything clearly. You'll have no trouble following along.

Or maybe you're preparing for a job interview? The knowledge in this course will help you prepare for any questions they might throw at you.

30 day money-back guarantee

This course comes with an unconditional, Udemy backed, 30-day money-back guarantee. If you are dissatisfied with the course for any reason, simply request a refund and get your full purchase amount back, no questions asked.

Act now

This course today contains over 2.5 hours of video content. Enrol now to benefit from the current price and get free lifelong access to all of the content.

Enrol now!

Who is the target audience?
  • This course is for beginner and intermediate C# programmers who want to learn advanced C# language features
  • Ideal for students who are working on a complex project and want to deepen their understanding of the C# language
  • Are you preparing for a C# job interview? Then this course is for you!
Students Who Viewed This Course Also Viewed
What Will I Learn?
Learn from a certified Microsoft trainer from your own desk
Many hours of video content showing you extension methods, lambda expressions, LINQ query expressions, auto properties, and much more!
Learn what happens when the C# compiler encounters a yield return statement
Use lambda expressions in the body of your functions and properties
See how easy it is to deal with null values by using the null conditional and null coalescing operators
Learn how to write better, cleaner, and more compact code
View Curriculum
  • You should have a Windows, Mac or Linux laptop with Microsoft Visual Studio, Xamarin Studio or Monodevelop installed
  • You should be familiar with the C# language
  • That's all!
Curriculum For This Course
Expand All 21 Lectures Collapse All 21 Lectures 02:29:49
1 Lecture 06:28

In this lecture I explain how this course is organised and I describe each of the upcoming sections in detail. I'll also tell a bit more about myself, my career, and my motivation to become an online trainer.

Preview 06:28
Essential C# Language Features Every Developer Should Know
12 Lectures 01:43:25

Welcome to the Essential C# Language Features section. I will give a quick introduction on how the section is organized before we get started.

Section Introduction

The Null Coalescing operator is extremely useful in providing a graceful fallback when there's a null value in an expression. In this lecture I will show you some examples of how you can put this very versatile operator to good use.

Preview 09:27

Did you know C# has two kinds of typecasts? There's a 'hard' typecast where you put the destination type in parenthesis, and there's the 'soft' typecast that uses the 'as' operator.

In this lecture I will explain the difference between the two, and you will learn several examples of how using soft typecasts can clean up your code.

Soft Typecasts

Auto properties are a really useful feature where the C# compiler automatically creates the complete property getter and setter implementation for you. Which begs the question: why not simply use a public field instead?

In this lecture I will answer that question, and you will learn how to put auto properties to good use.

Auto Properties

The String class has many useful helper methods, including IsNullOrEmpty, IsNullOrWhiteSpace, and Equals. In this lecture I will show you how these three handy methods can help you clean up your code, and I'll explain how they also provide a tiny performance benefit.

Three Useful String Methods

You're probably familiar with using the 'using' statement to import namespaces. But did you know you can also use this statement to automatically dispose object instances?

In this lecture I'll show you exactly how it's done, and I will also demonstrate two common mistakes when using the 'using' statement.

The Using Statement

Have you ever needed to write pages of initialisation code, to set up a collection and fill it with objects? Well, no more! Object and collection initialisers now let you create complex object collections with only a few lines of code.

In this lecture I will show you exactly how it's done.

Object and Collection Initializers

Did you know there are two ways of writing a LINQ expression? One is by calling extension methods like Where and Select. But the other is by writing your query as an elegant LINQ query expression: a SQL-ish language that's integrated right into C#.

In this lecture I will teach you how to write LINQ queries as query expressions, and I will demonstrate how easy it is to perform complex operations like joins, mixing generators, and even initialising temporary variables within your query.

LINQ Query Expressions

A dreaded job interview question is having to explain what the yield return statement does in C#. But don't worry, I've got your back. This lecture will show you exactly what happens when the compiler encounters a yield return statement in your code.

The Yield Return Statement

Extension methods are a very unusual and somewhat controversial feature in C#, where you declare a static method that actually pretend to be instance method instead!

In this lecture I will teach you how to write an extension method, I'll discuss several arguments for and against using them, and I'll show you 5 handy extension methods you can use in your own code.

Extension Methods

A lambda expression is a very compact way of writing a delegate with parameters that optionally returns a value. Lambdas are used everywhere in LINQ, and in this lecture I'll teach you exactly how to declare and use them.

Lambda Expressions

Congratulations on finishing this section. This is a recap of what we have learned.

Section Recap

Essential Language Features
10 questions
New And Cool C# Language Features Introduced In Version 6.0
7 Lectures 38:15
Welcome to the New And Cool C# Language Features section. I will give a quick introduction on how the section is organized before we get started.
Section Introduction

The Null Conditional operator is a very cool feature that lets you access a field, property or method of an object instance and gracefully handle null values. In this lecture I'll teach you how you can put this operator to good use in your code.

Preview 14:56

Auto property initialisers let you declare a property, have the C# compiler generate the getter and setter implementation for you, and initialise the property, all in a single line of code. This lecture shows you how to put this feature to good use.

Auto Property Initializers

Declaration expressions are assignments that also return a value. In this lecture I'll show you where this feature comes in extremely handy.

Declaration Expressions

An expression-bodied function and property is a function (or property) that you declare with a lambda expression. In this lecture I'll show you how this nice little feature can really clean up your code.

Expression Bodied Functions And Properties

C# version 6 finally lets you use the await keyword in catch and finally blocks. In this lecture I'll demonstrate some code that puts this new feature to good use.

Await In Catch And Finally

Congratulations on finishing this section. This is a recap of what we have learned.
Section Recap

C# Version 6 Language Features
5 questions
Final Words
1 Lecture 01:41
In this lecture I would like to thank you for finishing the course and offer some final words.
Course Recap
About the Instructor
4.4 Average rating
652 Reviews
4,373 Students
9 Courses
Microsoft Trainer

Hi I'm Mark, and I am very pleased to meet you!

My IT career spans 2 decades and I've worn many different hats over the years. I am a serial entrepreneur and have launched two startups in The Netherlands. I've also been a CTO three times.

I started working with C# and the .NET framework 15 years ago. Today I live in Barcelona and spend my time creating online courses to share my knowledge of professional C# programming with a wide audience.

Report Abuse