当前位置: 代码迷 >> C# >> linq语句里如何实现类型循环的语句
  详细解决方案

linq语句里如何实现类型循环的语句

热度:87   发布时间:2016-05-05 03:27:58.0
linq语句里怎么实现类型循环的语句
为了说明简单些,举个例子,有个table,我先groupby后,要计算列的sum值,但是根据需求列名是动态获取的放在string类型的list里,
                        table.AsEnumerable().GroupBy(x => x["11"]).Select(y => new { i = y.Key, p = y.Sum(z => Convert.ToDecimal(z["111"])), o = y.Sum(z => Convert.ToDecimal(z["222"])) });

上面是计算“111”,“222”列名的和,现在我的列名是放在list里的,我该怎么样才能一句把list里的列名都求和

------解决思路----------------------

            table.AsEnumerable().GroupBy(x => x["11"]).Select(y =>
            {
                var sumList = new Dictionary<string, decimal>();

                foreach (string key in list)
                {
                    sumList.Add(key, y.Sum(z => Convert.ToDecimal(z[key])));
                }

                return new { i = y.Key, p = sumList };
            });
  相关解决方案