void Main() { var lstRawData = new List<RawData> { new RawData {Country="India",State="TamilNadu",City="Chennai",Population=6000}, new RawData{Country="India",State="TamilNadu",City="Trichy",Population=5000}, new RawData{Country="India",State="TamilNadu",City="Salem",Population=4000}, new RawData{Country="India",State="Andrapradesh",City="Hyderabad",Population=6500}, new RawData{Country="India",State="Andrapradesh",City="Secndrabad",Population=5500}, new RawData{Country="India",State="Andrapradesh",City="Guntur",Population=4500}, new RawData{Country="India",State="Karnataka",City="Bangalore",Population=6000}, }; var result = lstRawData.GroupBy (rd => rd.State, rd => rd.Population, (state, popSum) => new { State = state, Population = popSum.Sum () }); /* Result is TamilNadu 15000 Andrapradesh 16500 Karnataka 6000 } */ } // Define other methods and classes here public class RawData { public string Country { get; set; } public string State { get; set; } public string City { get; set; } public int Population { get; set; } }
其他语句: var SumforEachState = lstRawData.Where(x => x.Country == "India") .GroupBy(y => y.State) .Select(group => new { State = group.Key, Population = group.Sum(city => city.Population) }) .ToList();