using System;
using System.Linq;
public class Program
{
public static void Main()
{
var table = new[] {
new { id = 1, val = 6, sym = 'ф' },
new { id = 1, val = 7, sym = 'ы' },
new { id = 2, val = 9, sym = 'в' },
new { id = 2, val = 3, sym = 'а' }
};
var q = from row in table
group row by row.id into gr
select (from row in gr
orderby row.val descending
select row
).First();
foreach (var row in q)
Console.WriteLine(row);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCnB1YmxpYyBjbGFzcyBQcm9ncmFtCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICAgIHsKCSAgICB2YXIgdGFibGUgPSBuZXdbXSB7IAogICAgICAgICAgICBuZXcgeyBpZCA9IDEsIHZhbCA9IDYsIHN5bSA9ICfRhCcgfSwKICAgICAgICAgICAgbmV3IHsgaWQgPSAxLCB2YWwgPSA3LCBzeW0gPSAn0YsnICB9LAogICAgICAgICAgICBuZXcgeyBpZCA9IDIsIHZhbCA9IDksIHN5bSA9ICfQsicgIH0sCiAgICAgICAgICAgIG5ldyB7IGlkID0gMiwgdmFsID0gMywgc3ltID0gJ9CwJyAgfQogICAgICAgIH07CiAgICAgICAgCiAgICAgICAgdmFyIHEgPSBmcm9tIHJvdyBpbiB0YWJsZQogICAgICAgICAgICAgICAgZ3JvdXAgcm93IGJ5IHJvdy5pZCBpbnRvIGdyCiAgICAgICAgICAgICAgICBzZWxlY3QgKGZyb20gcm93IGluIGdyCiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyYnkgcm93LnZhbCBkZXNjZW5kaW5nCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCByb3cKICAgICAgICAgICAgICAgICkuRmlyc3QoKTsKICAgICAgICAgICAgICAgIAogICAgICAgIGZvcmVhY2ggKHZhciByb3cgaW4gcSkKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUocm93KTsKICAgIH0KfQ==