I don’t see why you are grouping here.
Try this:
var maxValue = table.Max(x => x.Status)
var result = table.First(x => x.Status == maxValue);
An alternate approach that would iterate table
only once would be this:
var result = table.OrderByDescending(x => x.Status).First();
This is helpful if table
is an IEnumerable<T>
that is not present in memory or that is calculated on the fly.