Lambda Expression for groupby and sum

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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值