New in C# 7.0: Part 3 – Ref Returns

Picking up where I left off last week, there’s another interesting new feature called “Ref Returns”. Similar to Ref Locals, this allows you to return a reference from a method, and then optionally use it as a Ref Local in the calling code.

Let’s look at the following method definition:

The method takes an integer, and returns an entry from an array with that index. The important differences from a normal method is the ref keyword in the method signature, and the ref keyword after the return keyword. This tells the compiler that you want the method to return a reference to the variable/object, instead of passing it back by value.

When calling the method, we do this, defining a Ref Local in the process:

Or, if we don’t want to use it as a reference, and just want to use the value, we can omit the ref keyword in both places.

That’s it for this week. Next week, we’ll be talking about Expression-Bodied Members.

Leave a Reply

Your email address will not be published. Required fields are marked *