What's New in C# 7 and 7.1
4.6 (176 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.
5,379 students enrolled
Wishlisted Wishlist

Please confirm that you want to add What's New in C# 7 and 7.1 to your Wishlist.

Add to Wishlist

What's New in C# 7 and 7.1

Learn about latest C# features coming out in Visual Studio 2017
4.6 (176 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.
5,379 students enrolled
Created by Dmitri Nesteruk
Last updated 8/2017
English
English [Auto-generated]
Curiosity Sale
Current price: $10 Original price: $20 Discount: 50% off
30-Day Money-Back Guarantee
Includes:
  • 1.5 hours on-demand video
  • 1 Article
  • 14 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand and appreciate C# 7 language features
View Curriculum
Requirements
  • Features of C# 6 and earlier
Description

This short course covers the latest and greatest features of C#, covering versions 7 and 7.1 of the language that's being simultaneously released with Visual Studio 2017.

Course Topics

Here's every language feature presented in this course, grouped by the version of the C# language.

C# 7:

  • Out Variables
  • Pattern Matching (is and switch expressions)
  • Tuples and Tuple Deconstruction
  • Local Functions
  • Ref Returns and Locals
  • Expression Bodied Members
  • Throw Expressions
  • Generalized Async Return Types
  • Literal Improvements

C# 7.1:

  • How to turn on C# 7.1 support
  • Async Main
  • Default Expressions
  • Ref Assemblies
  • Infer Tuple Names
  • Pattern-Matching with Generics

Prerequisites

  • Knowledge and understanding of C# 6 and earlier
  • General experience in .NET/C# application development

Learning Outcomes

  • An understanding and appreciation of latest C# 7/7.1 language features
  • Understanding of how to convert existing C# code to C# 7/7.1
Who is the target audience?
  • Beginner and experienced .NET/C# developers
Students Who Viewed This Course Also Viewed
Curriculum For This Course
18 Lectures
01:30:30
+
Introduction
1 Lecture 01:45

A description of the contents of this course.

Preview 01:45
+
What's New in C# 7
10 Lectures 53:15

It used to be the case that, in order to use an out variable, you had to declare it first. Well, not anymore!

Preview 03:09

Not quite the F# pattern-matching on structural types, but it's a start.

Pattern Matching
04:51

Better tuples with names and deconstruction. Somewhat ruined by the requirement of an external Nuget package.

Update: System.ValueTuple is now part of .NET Framework 4.7.

Tuples
14:17

What is deconstruction and why should you care?

Deconstruction
03:02

Functions inside functions, what could be simpler?

Local Functions
05:55

References! Just like in C++, except not quite.

Ref Returns and Locals
11:25

A community-proposed feature of extending expression bodies to constructors/destructors and getters/setters.

Expression Bodied Members
02:14

Throw from a null-coalescing expression? What madness is this?

Throw Expessions
03:17

Async method return types are no longer restricted to void/Task/Task<T>.

Preview 03:35

Underscores in decimal, hex and binary literals.

Literal Improvements
01:30
+
What's New in C# 7.1
7 Lectures 35:32

If you make a new project in Visual Studio 2017.3 and try to use a C#7.1 feature, the project won't compile. Why is that?

Oh, and what happens if your assembly has multiple Main methods, some async and some not?

Preview 02:13

The Main() method can now be marked async and is allowed to return a Task or Task<int>.

Async Main
07:54

Watch the default keyword become a literal (similar to the null literal) and start taking on additional responsibilities.

Default Expessions
07:09

Learn about assemblies whose method bodies are replaced with throw
null
.

Ref Assemblies
06:08

Just as the name suggests, this feature allows us, in certain cases, to infer tuple names and lets us omit them.

Infer Tuple Names
08:47

C# 7.1 makes it easier to pattern-match against a variable of a generic type.

Preview 03:03

A couple of links to my other .NET/C# courses!

Bonus Lecture: Other Courses at a Discount
00:18
About the Instructor
Dmitri Nesteruk
4.5 Average rating
1,053 Reviews
10,530 Students
14 Courses
Quant Finance • Algotrading • Software/Hardware Engineering

Dmitri Nesteruk is a developer, speaker and podcaster. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C#, F# and C++ programming as well high-performance computing using technologies such as CUDA. He has been a C# MVP since 2009.

Dmitri is a graduate of University of Southampton (B.Sc. Computer Science) where he currently holds a position as a Visiting Researcher. He is also an instructor on an online intro-level Quantitative Finance course, and has also made online video courses on CUDA, MATLAB, D, the Boost libraries and other topics.