Below you can find the list of all features introduced in C# 7. Tuples Deconstruction Out variables Patterns Discards Literal improvements Local functions Expression-bodied members Throw Expressions Ref returns and ref locals Generalized async return types
Returning reference instead of value might be very useful – especially when one has to deal with big structures. C# allows passing parameters by reference, but a method was not able to return a reference. This has been changed with C# version 7.0.