using System.Collections.Generic;
public string RateClass { get; set; }
public decimal CostDay { get; set; }
public decimal CostWeek { get; set; }
public static void Main()
var rates = new List<Rates>
new Rates {CostDay = 2, CostWeek = 7, RateClass = "Test 1"},
new Rates {CostDay = 4, CostWeek = 17, RateClass = "Test 1"},
new Rates {CostDay = 6, CostWeek = 27, RateClass = "Test 2"},
new Rates {CostDay = 8, CostWeek = 37, RateClass = "Test 2"}
var data = rates.GroupBy(t => t.RateClass)
CostDay = g.Min(x => x.CostDay),
CostWeek = g.Sum(x => x.CostWeek)
Console.WriteLine(r.RateClass + ", CostDay: " + r.CostDay + ", CostWeek: " + r.CostWeek);