Lamda表达式分组计算
2016-08-14 11:35
295 查看
根据不同的term 计算每项的权重 即, weight/sum(weight)
Result r = new Result(); r.altid="001"; r.term=21; r.weight = 0.1; list.Add(r); Result r2 = new Result(); r2.altid = "002"; r2.term = 21; r2.weight = 0.2; list.Add(r2); Result r3 = new Result(); r3.altid = "003"; r3.term = 63; r3.weight = 0.2; list.Add(r3); var ListTerm = list.GroupBy(t => t.term).Select(g => (new { term = g.Key, SumWgt = g.Sum(s => s.weight) }));//按照term计算总的weight var listGroup = list.Join(ListTerm, a => a.term, l => l.term, (a, l) => new { altid = a.altid, term = l.term, wgt = a.weight,wi=a.weight/l.SumWgt }).ToList();//term内连接项,wi=weight除以各自的sum(weight) foreach (var l in listGroup) { Console.WriteLine(l.term + ": "+ l.wi); }
相关文章推荐
- (转)c# Linq及Lamda表达式应用经验之 GroupBy 分组
- c# Linq及Lamda表达式应用经验之 GroupBy 分组
- 【.Net码农】C# Linq及Lamda表达式应用经验之 GroupBy 分组
- c# Linq及Lamda表达式应用经验之 GroupBy 分组
- Lamda表达式之 GroupBy 分组 、OrderByDescending排序
- c# Linq及Lamda表达式应用经验之 GroupBy 分组
- Linq及Lamda表达式应用经验之 GroupBy 分组
- c# Linq及Lamda表达式应用经验之 GroupBy 分组
- Linq及Lamda表达式应用经验之 GroupBy 分组
- Linq及Lamda表达式应用经验之 GroupBy 分组
- C# Linq及Lamda表达式实战应用之 GroupBy 分组统计
- c# Linq及Lamda表达式应用经验之 GroupBy 分组
- Linq及Lamda表达式应用经验之 GroupBy 分组
- c# Linq及Lamda表达式应用经验之 GroupBy 分组
- C++第14周报告(二)用循环控制语句编写程序,完成表达式的计算
- 计算四则运算表达式
- C语言实验——计算表达式
- 调试出现"当前方法的代码已经过优化,因此无法计算表达式的值。" 解决方案
- 数据结构之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java) (转载)
- mysql 排序order by可以根据权重,进行表达式计算。再排序