如何计算C#中对象内所有属性的总和?

seU*_*ser -2 c# object c#-4.0 .net-4.5

public class Calories
{
  public decimal A { get; set; }
  public decimal B { get; set; }
  public decimal C { get; set; }
  public decimal Total { get; set; }
}

var calories = new Calories
{ 
  A = 10, B = 25, C = 31
};

//Currently I am doing this
calories.Total = calories.A + calories.B + calories.C;
Run Code Online (Sandbox Code Playgroud)

计算同一对象中所有属性总数的有效方法是什么?

Yuv*_*kov 14

是.您可以计算属性getter中的总和:

public decimal Total { get { return A + B + C } };
Run Code Online (Sandbox Code Playgroud)


Tim*_*m B 5

没有真正回答你的问题,但是如果你对不同的设计持开放态度,并且你想要一个具有不确定数值的类具有Total属性的类.

class Calories : List<decimal>
{
    public decimal Total { get { return this.Sum(); } }
}
Run Code Online (Sandbox Code Playgroud)

可能不是最好的方式..取决于具体情况,但快速和最小的代码.