using System.Collections.Generic;
public int cowbell { get; set; }
private static List<Foo> _Foos;
public static List<Foo> Foos { get { return _Foos ?? (_Foos = new List<Foo>()); } }
public static void Main()
Foos.Add(new Foo { cowbell = 1 });
Foos.Add(new Foo { cowbell = 1 });
Foos.Add(new Foo { cowbell = 2 });
Foos.Add(new Foo { cowbell = 2 });
Foos.Add(new Foo { cowbell = 3 });
Foos.Add(new Foo { cowbell = 3 });
Foos.Add(new Foo { cowbell = 4 });
Foos.Add(new Foo { cowbell = 4 });
Foos.Add(new Foo { cowbell = 5 });
Foos.Add(new Foo { cowbell = 5 });
Foos.Add(new Foo { cowbell = 6 });
Foos.Add(new Foo { cowbell = 6 });
var highFoos = Foos.GroupBy(foo => foo.cowbell).OrderByDescending(x => x.Key).FirstOrDefault();
foreach (var foo in highFoos)
Console.WriteLine(string.Format("cowbell: {0}", foo.cowbell));