What's New in C#7 and C# 8
- 3 hours on-demand video
- 1 article
- 18 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Understand and appreciate C#7 and C#8 language features
- Learn how to use new language features in practice
It used to be the case that, in order to use an out variable, you had to declare it first. Well, not anymore!
Async method return types are no longer restricted to void/Task/Task<T>.
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?
- Knowledge of C# 6 and earlier
This short course covers the latest and greatest features of C#, covering versions 7, 7.1, 7.2, 7.3 and 8.0 [BETA] of the language that are being sim-shipped with corresponding Visual Studio updates.
Here's every language feature presented in this course, grouped by the version of the C# language.
Pattern Matching (is and switch expressions)
Tuples and Tuple Deconstruction
Ref Returns and Locals
Expression Bodied Members
Generalized Async Return Types
How to turn on C# 7.1 support
Infer Tuple Names
Pattern-Matching with Generics
Leading Digit Separators
'Private Protected' Access Modifier
Non-Trailing Named Arguments
Reference Semantics on Value Types:
'Ref Readonly' Variables
'Ref Struct' and Span<T>
Access fixed fields without pinning
Reassign ref local variables
Use initializers on stackalloc arrays
Use fixed statements on any type that supports a pattern
Enhancements to existing features
Tuple == and != support
Use expression variables in more locations
Attach attributes to backing field of auto-properties
Improved method resolution when arguments differ by 'in'
Improved overload resolution
New compiler options:
C# 8 [BETA]:
Nullable Reference Types
Indices and Ranges
Default Interface Members
Knowledge and understanding of C# 6 and earlier
General experience in .NET/C# application development
An understanding and appreciation of latest C# 7/7.1/7.2/7.3/8 language features
Understanding of how to convert existing C# code to C# 7/7.1/7.2/7.3/8
- Beginner and experienced .NET/C# developers