C# 强类型List.GroupBy()

C# 强类型List.GroupBy(),c#,linq,group-by,C#,Linq,Group By,我一直试图在谷歌上找到答案等等 但我发现的所有地方都使用匿名输入的结果列表 我想做的是做一个列表 并创建一个分组的SecondaryStandard 每个secondary标准如下所示 public class SecondaryStandard { public string Id { get; set; } public int IdNumeric { get; set; } public string IdText { get; set; } public

我一直试图在谷歌上找到答案等等

但我发现的所有地方都使用匿名输入的结果列表

我想做的是做一个
列表

并创建一个分组的
SecondaryStandard

每个
secondary标准
如下所示

public class SecondaryStandard
{

    public string Id { get; set; }
    public int IdNumeric { get; set; }
    public string IdText { get; set; }
    public Sample Sample { get; set; }
    public string StandardName { get; set; }
    public DateTime DateCompleted { get; set; }
    public SamplePoint SamplingPoint{ get; set; }
    public Instrument Instrument{ get; set; }
    public string ContainerId { get; set; }
    public double Value { get; set; }
    public string ComponentName { get; set; }
    public string PointLocation { get; set; }
    public string Description { get; set; }
    public string Description2 { get; set; }
    public string Analysis { get; set; }
    public string Units { get; set; }

}
我想要的是一个List(),其中Value属性是每个ComponentName的结果的平均值

关于如何以强类型的方式实现这一点,或者我是否需要接受它并使用匿名对象来实现我想要的东西,有什么想法吗

你是说这个

List<SecondaryStandard> list = new List<SecondaryStandard>();
// populate list

List<SecondaryStandard> result = list
    .GroupBy(l => l.ComponentName)
    .Select(s => new SecondaryStandard() { ComponentName = s.Key, Value = s.Average(x => x.Value) }).ToList();
List List=新列表();
//填充列表
列表结果=列表
.GroupBy(l=>l.ComponentName)
.Select(s=>newsecondaryStandard(){ComponentName=s.Key,Value=s.Average(x=>x.Value)}).ToList();
你是说这个

List<SecondaryStandard> list = new List<SecondaryStandard>();
// populate list

List<SecondaryStandard> result = list
    .GroupBy(l => l.ComponentName)
    .Select(s => new SecondaryStandard() { ComponentName = s.Key, Value = s.Average(x => x.Value) }).ToList();
List List=新列表();
//填充列表
列表结果=列表
.GroupBy(l=>l.ComponentName)
.Select(s=>newsecondaryStandard(){ComponentName=s.Key,Value=s.Average(x=>x.Value)}).ToList();

列表
没有值属性。您需要创建一个具有自定义集合类型的集合。也许您可以澄清结果是什么?给我们一个带有值的示例
List
,然后是您想要的结果,然后我们可以了解如何实现。Value是secondary的属性标准
List
没有Value属性。您需要创建一个具有自定义集合类型的集合。也许您可以澄清结果是什么?给我们一个带有值的示例
列表
,然后是您想要的结果,然后我们可以了解如何实现。值是SecondaryStandard的一个属性