当前位置:  开发笔记 > 编程语言 > 正文

linq聚合

如何解决《linq聚合》经验,为你挑选了1个好方法。

您的更新问题在电话号码方面并不完全清楚,但我怀疑您需要以下内容:

    var query = from category in list
                group category by category.Name into grouped
                select new { Name = grouped.Key,
                             SumA = grouped.Sum(x => x.CountA),
                             SumB = grouped.Sum(x => x.CountB),
                             Phone = grouped.Last().Phone };

更改grouped.Last()grouped.First()会更有效率,顺便说一句.

以这种方式评估多个聚合通常不是非常有效.由我自己和Marc Gravell开发的Push LINQ项目使其效率更高,但代价是不那么容易使用.如果您需要处理大量数据,可能需要查看它.



1> Jon Skeet..:

您的更新问题在电话号码方面并不完全清楚,但我怀疑您需要以下内容:

    var query = from category in list
                group category by category.Name into grouped
                select new { Name = grouped.Key,
                             SumA = grouped.Sum(x => x.CountA),
                             SumB = grouped.Sum(x => x.CountB),
                             Phone = grouped.Last().Phone };

更改grouped.Last()grouped.First()会更有效率,顺便说一句.

以这种方式评估多个聚合通常不是非常有效.由我自己和Marc Gravell开发的Push LINQ项目使其效率更高,但代价是不那么容易使用.如果您需要处理大量数据,可能需要查看它.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有