一个list的算法问题。
我有一个list ,里面存的值是 Name|value,比如 中山一路|42,中山二路|34,五山路|35,五山路|56,。。。这里面有Name一样的情况。我现在要做的是把Name一样的,value值相加,留一个值。 怎么写这个算法呢?求赐教。
[解决办法]
- C# code
var list=new List<string>{"中山一路|42","中山二路|34","五山路|35","五山路|56"}; var result=list.GroupBy(l=>l.Split('|')[0]) .Select(g=>g.Key+"|"+g.Sum(m=>int.Parse(m.Split('|')[1]))) .ToList();