I think the most frequent number can also be reached in a single query like this -
var query = (from i in list
group i by i into g
orderby g.Count() descending
select new { Key = g.Key, Count = g.Count() }).FirstOrDefault();
if (query == null) Console.WriteLine("query = NULL");
else Console.WriteLine("The number '{0}' occurs {1} times.", query.Key, query.Count);
Zero checking is not really required, but can be useful when zero is actually expected (for example, an empty list?)
user142650
source
share