TryParse create inline parameter?

Anton Selin picture Anton Selin · Nov 4, 2014 · Viewed 9.4k times · Source

Is there any way in C# to create a variable inline? Something like this:

int x = int.TryParse("5", out new int intOutParameter) ? intOutParameter : 0;

Don´t you think that this is more useful than creating a variable outside and then never use it again?

Answer

Richard picture Richard · Nov 4, 2014

That syntax – called declaration expressions – was on the proposed feature list for the next version of C# (version 6).

You're not the only one to think it is useful. For instance making a complete TryParse call an expression (no need for a statement to declare the variable).

However it has been dropped from the ongoing work to C#6.

I'm sure I'm not the only one hoping it will make a return in a future version.It is included in C#7 as a declaration (no need for new):

int x = int.TryParse("5", out int intOutParameter) ? intOutParameter : 0;