C# 带计数的嵌套排序组
我试图找出如何获取一个列表,并获得一个组列表,每个组列表包含总数量的组。我能够完成第一个goup,并且四处查看了使用LINQ进行嵌套组的情况,但是不确定如何使它与我需要的信息一起工作。下面是一个示例列表和我目前使用的编码 样本清单C# 带计数的嵌套排序组,c#,linq,C#,Linq,我试图找出如何获取一个列表,并获得一个组列表,每个组列表包含总数量的组。我能够完成第一个goup,并且四处查看了使用LINQ进行嵌套组的情况,但是不确定如何使它与我需要的信息一起工作。下面是一个示例列表和我目前使用的编码 样本清单 var list = new[] { new { Product = "Product1", Category = "Category1", Issue = "Issue1" }, new { Product = "Product1", Categor
var list = new[] {
new { Product = "Product1", Category = "Category1", Issue = "Issue1" },
new { Product = "Product1", Category = "Category1", Issue = "Issue2" },
new { Product = "Product2", Category = "Category2", Issue = "Issue1" },
new { Product = "Product3", Category = "Category1", Issue = "Issue2" },
new { Product = "Product2", Category = "Category2", Issue = "Issue1" },
new { Product = "Product1", Category = "Category1", Issue = "Issue" },
}.ToList()
示例代码
var topIssues = from issue in storage.Issues
group issue by new {issue.Category, issue.Issue} into issueGroup
let count = issueGroup.Count()
orderby count descending
select new { Issue = issueGroup.Key, Count = count};
我正在做一个由Category和Issue定义的组,然后我需要每个组中的项目计数,以及按此降序排列的列表。但是,我希望在这些产品中有一个组,该组还包含每个产品的项目计数,并且也是按降序排列的。任何帮助都将不胜感激。您能显示预期输出吗?您能显示预期输出吗?非常感谢,现在我看了您的示例,这就更有意义了。
var topIssues = (from issue in list
group issue by new {issue.Category, issue.Issue}
into issueGroup
select new
{
Issue = issueGroup.Key,
Count = issueGroup.Count(),
GP = (from i in issueGroup group i by i.Product into gp select new
{
Product = gp.Key, Count = gp.Count()
}).OrderByDescending(g=>g.Count)
}).OrderByDescending(d=>d.Count);