using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
List<Prop> list = new List<Prop>();
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;}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CiAKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewogICAgTGlzdDxQcm9wPiBsaXN0ID0gbmV3IExpc3Q8UHJvcD4oKTsKICAgIGxpc3QuQWRkKG5ldyBQcm9wKCJ2b2x0YWdlIiwgNykpOwogICAgbGlzdC5BZGQobmV3IFByb3AoInZvbHRhZ2UiLCAyNCkpOwogICAgbGlzdC5BZGQobmV3IFByb3AoInN5c3RlbWNvbmZpZ3VyYXRpb24iLCAyNDUxKSk7CiAgICBsaXN0LkFkZChuZXcgUHJvcCgic3lzdGVtdW5pdCIsIDApKTsKICAgIGxpc3QuQWRkKG5ldyBQcm9wKCJzeXN0ZW11bml0IiwgMTUpKTsKICAgIGxpc3QuQWRkKG5ldyBQcm9wKCJ2b2x0YWdlIiwgMCkpOwkJCiAgICB2YXIgaGlnaGVzdEJ5VGl0bGUgPSBsaXN0CiAgICAgICAgLkdyb3VwQnkodCA9PiB0LnRpdGxlKQogICAgICAgIC5TZWxlY3QoZyA9PiBnLk9yZGVyQnlEZXNjZW5kaW5nKHQgPT4gdC52YWwpLkZpcnN0KCkpCiAgICAgICAgLlRvTGlzdCgpOwogICAgZm9yZWFjaCAodmFyIHAgaW4gaGlnaGVzdEJ5VGl0bGUpIHsKICAgIAlDb25zb2xlLldyaXRlTGluZSgiezB9IC0gezF9IiwgcC50aXRsZSwgcC52YWwpOwogICAgfQogCiAKCX0KIAogCnB1YmxpYyBjbGFzcyBQcm9wIHsgICAgIAoJcHVibGljIFByb3Aoc3RyaW5nIHQsIGludCB2KSB7dGl0bGUgPSB0OyB2YWwgPSB2O30KICAgIHB1YmxpYyBzdHJpbmcgdGl0bGUge2dldDtzZXQ7fQogICAgcHVibGljIGludCB2YWwge2dldDtzZXQ7fSAgICAgICAKfSAgIAogCn0=