(Download) - What's New in C# 7, 7.1, 7.2 and 7.3


Learn about latest C# features coming out in Visual Studio 2017

What you'll learn

  • Understand and appreciate C# 7/7.1/7.2/7.3 language features
  • Learn how to use new language features in practice

Requirements

  • Knowledge of C# 6 and earlier

Description

This short course covers the latest and greatest features of C#, covering versions 7, 7.1, 7.2 and 7.3 of the language that are being sim-shipped with corresponding Visual Studio updates.

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
C# 7.2:

  • Leading Digit Separators
  • 'Private Protected' Access Modifier
  • Non-Trailing Named Arguments
  • Reference Semantics on Value Types:
  • 'In' Parameters
  • 'Ref Readonly' Variables
  • 'Ref Struct' and Span<T>
C# 7.3:

  • Performance improvements
  1. Access fixed fields without pinning
  2. Reassign ref local variables
  3. Use initializers on stackalloc arrays 
  4. Use fixed statements on any type that supports a pattern 
  • Enhancements to existing features 
  1. Tuple == and != support 
  2. Use expression variables in more locations 
  3. Attach attributes to backing field of auto-properties 
  4. Improved method resolution when arguments differ by 'in' 
  5. Improved overload resolution 
  • New compiler options: 
  1. deterministic
  2. publicsign
  3. pathmap
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/7.2/7.3 language features
  • Understanding of how to convert existing C# code to C# 7/7.1/7.2/7.3

Who this course is for:

  • Beginner and experienced .NET/C# developers