C# 从列表C中的名称中获取元素组

C# 从列表C中的名称中获取元素组,c#,C#,我有一份清单: public class GT { public string ActivityName { get; set; } public int Seconds { get; set; } } ActivityName可以在迭代过程中重复,我想做的是,重新组合所有具有相同名称的项,并计算这些特定项的平均秒数。我尝试使用Distinct,但它没有将它们分组 您应该使用GroupBy而不是Distinct: 请添加您尝试的内容和更多代码示例,以便更好地理解尝试以下内容:

我有一份清单:

public class GT
{
    public string ActivityName { get; set; }
    public int Seconds { get; set; }

}
ActivityName可以在迭代过程中重复,我想做的是,重新组合所有具有相同名称的项,并计算这些特定项的平均秒数。我尝试使用Distinct,但它没有将它们分组

您应该使用GroupBy而不是Distinct:


请添加您尝试的内容和更多代码示例,以便更好地理解尝试以下内容:列表活动=新列表;列出结果=activities.GroupByx=>x.ActivityName.Selectx=>newgt{ActivityName=x.Key,Seconds=intx.Averagey=>y.Seconds}.ToList@TimSchmelter我会说这取决于OP需要什么。
List<GT> list = /*...*/;
var query = list.GroupBy(x => x.ActivityName, (k,g) => new { ActivityName = k, AverageTimeInSeconds = g.Average(x => x.Seconds) });
var groups = items.GroupBy(p => p.ActivityName)
    .Select(g => new
    {
        ActivityName = g.Key,
        Average = g.Average(t => t.Seconds)
    }).ToList();