我有以下类(class):
public class Summary
{
public string Name { get; set; }
public string Marks { get; set; }
}
使用样本数据
SummaryList.Add(new ActivitySummary() { Name = "ATT", Marks = "200"});
SummaryList.Add(new ActivitySummary() { Name = "CHARTER", Marks ="600"});
我想将另一个列表项添加到包含 Total of Marks 属性的列表中。
SummaryList.Add(new ActivitySummary() { Name = "TOTAL", Marks ="800"});
如何使用 LINQ 计算 Marks 属性的总和?
最佳答案
为了计算总和,使用 Sum
:
SummaryList.Add(new ActivitySummary() {
Name = "TOTAL",
Marks = SummaryList.Sum(item => Convert.ToInt32(item.Marks)).ToString()
});
如果您的
Marks
属性只包含整数,使其类型为 string
没有意义。如果查询类型为 int
,您可以简化查询:public class Summary
{
public string Name { get; set; }
public int Marks { get; set; }
}
SummaryList.Add(new ActivitySummary() {
Name = "TOTAL",
Marks = SummaryList.Sum(item => item.Marks)
});
如果您的
Marks
属性不是整数,使用 decimal
, float
或 double
而不是 int
(和 Convert.ToDecimal
、 Convert.ToSingle
和 Convert.ToDouble
分别)。
关于c# - 计算列表中属性的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41439356/