Using named tuples in select statements

You can just use var, but you need to make sure the tuple elements are actually named.

In C# 7.0, you need to do this explicitly:

var tuples = source.Select(x => (A: x.A, B: x.B));
foreach (var tuple in tuples)
{
    Console.WriteLine($"{tuple.A} / {tuple.B}");
}

In C# 7.1, when the value in a tuple literal is obtained from a property or field, that identifier will implicitly be the element name, so you’ll be able to write:

var tuples = source.Select(x => (x.A, x.B));
foreach (var tuple in tuples)
{
    Console.WriteLine($"{tuple.A} / {tuple.B}");
}

See the feature document for more details around compatibility etc.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)