假设我有5个对象,每个对象包含双值。
我想总结一下,以便
double result=obj 1+obj 2+obj 3+obj 4+obj 5;
一种方法是将每个对象转换为double,然后将它们相加。
double result=(double)obj 1+(double)obj 2+(double)obj 3+(double)obj 4+(double)obj 5; //let suppose this cast works!
有没有更短的方法呢?
答案 0 :(得分:6)
你可以把它们放到一个数组中并使用一些LINQ:
double sum = new[] { obj1, obj2, obj3, obj4 }.Cast<double>().Sum();
然而,最好的方法是将双打保持为双打,不要将它们放入物体中。
答案 1 :(得分:4)
施展,但风格......:
static double SumDoubleObjects(params Object[] objs)
{
double sum = 0;
foreach (object curr in objs)
{
sum += (double)curr;
}
return sum;
}
可能的升级:
HTH