Most of you are already aware that Visual Studio 2017 RC has been released and it comes with a lot of new features. In this article, I am going to discuss only about C# 7 features. The other features will be explained in my upcoming articles.





This is my third article on C# 7. Before this, I have given update on C# 7 about 7-8 months ago, and explained the new things coming in C# 7. You can refer to my previous articles listed below.

In C# 7, a lot of new features have been introduced, and also enhancement have been done for some features. I will be covering all those things in context of Visual Studio 2017 RC. Given below is the list of features which I am going to explain in this article.

Local functions or nested functions Binary Literal Digit Separators Pattern matching ref returns and ref Locals Tuples (Tuples Enhancement) Throw Expressions Expression Bodied Members (some more expression bodied members in C# 7)



Expression bodied Methods (C# 6.0) Expression bodied Properties (C# 6.0) Expression bodied constructor (C# 7.0) Expression bodied destructor (C# 7.0) Expression bodied getters (C# 7.0) Expression bodied setters (C# 7.0)



Out variables (enhancement for out variables) Deconstruction

In the above list, I have mentioned only 10 new features of C# 7 but there are some more features like Generalized async (Generalized async return), Replace (Partial Class Enhancements) Records (or Record Types) Non-Nullable Reference Types, Immutable Types etc.



Some of the features are not yet supported in Visual Studio 2017 RC and are still under development. Even C# 7 has not been developed completely and still it is in preview mode. You can ignore some of the features of C# 7 right now and focus on the features which can be tested in Visual Studio 2017 RC. Below is a pictorial representation of the major features of C# 7 which are supported in Visual Studio 2017 RC.





