using System; using System.Collections.Generic; using System.Linq; public class Test { public static void Main() { List list = new List(); list.Add(new Prop("voltage", 7)); list.Add(new Prop("voltage", 24)); list.Add(new Prop("systemconfiguration", 2451)); list.Add(new Prop("systemunit", 0)); list.Add(new Prop("systemunit", 15)); list.Add(new Prop("voltage", 0)); var highestByTitle = list .GroupBy(t => t.title) .Select(g => g.OrderByDescending(t => t.val).First()) .ToList(); foreach (var p in highestByTitle) { Console.WriteLine("{0} - {1}", p.title, p.val); } } public class Prop { public Prop(string t, int v) {title = t; val = v;} public string title {get;set;} public int val {get;set;} } }