I've used lambda expressions in other languages before using them in C#, and so I got in the habit of using _
for simple lambdas in the form of Func<T, TResult>,
especially for simple lambdas where the body is just an expression representing the return value (predicates, etc..). However, in C# I often see single letters being used instead of _
for these same sorts of lambda expressions, such as x,y,z,i,j,k
. The letter approach seems odd to me since those letters already have another typical meaning in common usage, for loop variables. _
is often easier to read in my opinion. Is the single letter style really the established style for lambdas in C#?
Examples:
what I'm used to writing:
var ages = people.Select(_ => _.Age);
What I'm seeing being written instead:
var ages = people.Select(x => x.Age); // choice of 'x' is not consistent