Spice Up Your C# Code With Advanced Language Features
4.6 (54 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.
581 students enrolled
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.6 (54 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.
581 students enrolled
Created by Mark Farragher
Last updated 3/2017
English
Current price: $10 Original price: $90 Discount: 89% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 2.5 hours on-demand video
  • 2 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Learn advanced C# language features
  • Master Extension Methods
  • What does the yield return statement do?
  • Use Expression Bodied Properties
  • Soft and hard typecasts
  • What is an Auto Property Initializer?
  • Have fun with Declaration Expressions
  • The Null Coalescing Operator
  • ... and much more!
View Curriculum
Requirements
  • You need a Windows, Mac or Linux laptop with Microsoft Visual Studio, Xamarin Studio or Monodevelop
  • You should be a beginner, intermediate, or advanced C# developer
  • That's it!
Description

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.

How many of you can explain what the yield return statement does? What are the benefits of auto property initializers? And what's an expression bodied function?

If you don't know about these power features, you might be 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. Enroll now to benefit from the current price and get free lifelong access to all of the content.

Who is the target audience?
  • Beginner, intermediate, and advanced C# programmers who want to learn advanced C# language features
  • Developers who are about to take a job interview and need to prepare for questions related to the C# language
  • Professionals who want to write elegant and compact code in a large C# project
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 23 Lectures Collapse All 23 Lectures 02:32:10
+
Introduction
2 Lectures 07:50

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

Background Info - About Me
01:22
+
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
01:50

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
07:42

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
09:08

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
05:49

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
15:26

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
07:47

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
10:20

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
06:46

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
10:06

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
09:31

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

Section Recap
09:33

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
01:41

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
05:42

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
03:36

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
05:18

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
03:27

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

C# Version 6 Language Features
5 questions
+
Tricks And Hacks In C# And .NET
1 Lecture 01:10
Background Info - Modifying String Constants
01:10
+
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
01:41
About the Instructor
Mark Farragher
4.4 Average rating
775 Reviews
5,023 Students
10 Courses
Microsoft Certified Trainer - 700+ reviews, 4.5 rating

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 started using 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.

I have active MCSA and MCSD certifications plus legacy MCAD and MCT certifications. You can verify my credentials on my LinkedIn profile. 

Feel free to check out my course ratings before enrolling. As of today I have 9 published courses, 600+ reviews, and a recent average course rating of 4.41.