如何使用 LINQ 获取列表中某些列的总数并将其放入对象中?
我有一个 list
List<History> a = getTodayData();
我的类(class)历史是这样的:
public class History
{
public Int32 Id { get; set; }
public string YYMMDD { get; set; }
public int Quiz { get; set; }
public int Views { get; set; }
public int Clicks { get; set; }
public int Points { get; set; }
}
我想要的是用每个浏览量、点击量和点数的总和来填充这个对象。
public class Today
{
public int Views { get; set; }
public int Clicks { get; set; }
public int Points { get; set; }
}
一些帮助/建议将不胜感激。
最佳答案
使用 LINQ,您可以简单地分别计算总和:
Today today = new Today {
Views = a.Sum(history => history.Views),
Clicks = a.Sum(history => history.Clicks),
Points = a.Sum(history => history.Points),
}
万一您遇到此解决方案的性能问题,您始终可以使用非 LINQ foreach
循环:
Today today = new Today();
foreach(History history in a) {
today.Views += history.Views;
today.Clicks += history.Clicks;
today.Points += history.Points;
}
关于c# - 如何获取列表中多个列的总计并使用 LINQ 将其放入对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53155382/