我有一个模特:
public class MyModel
{
public string Name { get; set; }
public string Type { get; set; }
public int SqFeet { get; set; }
public decimal Cost { get; set; }
public decimal CostPerFoot { get; set; }
}
我有一个该模型的清单:
private List<MyModel> _myList;
public List<MyModel> MyList
{
get { return _myList; }
set
{
_myList = value;
OnPropertyChanged();
}
}
我在此列表中分组:
var groupBy = MyList.GroupBy(l => l.Name);
现在我的问题:是否可以在MyList
中显示不同属性的不同总数;所以我要问的是我希望看到平均CostPerFoot的总英尺和总成本。我怎么能这样做?
答案 0 :(得分:3)
您可以为每个组创建一个匿名类型的总计,其平均值为CostPerFoot
,总和为SqFeet
,总和为cost
:
var totals = MyList.GroupBy(l => l.Name).Select(g => new
{
Name = g.Key,
AverageCostPerFoot = g.Average(m => m.CostPerFoot),
TotalFeet = g.Sum(m => m.SqFeet),
TotalCost = g.Sum(m => m.Cost)
});