C#:如何从嵌套列表中获得计数并将结果分组为唯一项?

C#:如何从嵌套列表中获得计数并将结果分组为唯一项?,c#,linq,C#,Linq,我已经试了两天了。我有这个对象类型 public class QCProcessDetail { public DateTime CreatedDateUTC { get; set; } public string CreatedByUser { get; set; } public DateTime CompletedDateUTC { get; set; } public string CompletedByUs

我已经试了两天了。我有这个对象类型

    public class QCProcessDetail
    {
        public DateTime CreatedDateUTC { get; set; }
        public string CreatedByUser { get; set; }
        public DateTime CompletedDateUTC { get; set; }
        public string CompletedByUser { get; set; }
        public string Location { get; set; }
    }

    public class QCProcessStages
    {
        public string SerialNumber { get; set; }
        public ICollection<QCProcessDetail> QCProcessDetails { get; set; }
    }
我需要这样的结果

CreatedByUserX = 2
CreateByUserY = 1

根据更新的示例数据相应更新我的答案:

stages
    .SelectMany(s => s.QCProcessDetails)
    .GroupBy(d => d.CreatedByUser)
    .ToList()
    .ForEach(g => Console.WriteLine(g.Key + " = " + g.Count()));

请举例说明:原始数据和您的代码。您试图用正确的数据产生错误结果的原因是什么?@Dimitry:原始代码供您参考,我只是想让其他人普遍理解该结构。@Tanmay:我主要从这个网站尝试了很多建议,但是结果从来没有像我需要的那样出来。我想是因为我找不到一个将我的数据结构作为不是JSON对象的IST的示例。我从反序列化的服务器检索信息。我将数据解包并在网格中显示相关信息,但现在我想包括一些统计信息,因此“Createdbyuser”出现的次数handy@jeranio我刚刚更新了你的新数据示例的答案。哇..我真的需要研究一下。你的解决方案完全按照我的要求工作。我将研究您的解决方案,并与LINQ进行更多的合作。好像我处理了很多数据。再次感谢你,你是个明星
stages
    .SelectMany(s => s.QCProcessDetails)
    .GroupBy(d => d.CreatedByUser)
    .ToList()
    .ForEach(g => Console.WriteLine(g.Key + " = " + g.Count()));