如何用最小铸造量将物体铸造成两倍
本文关键字:两倍 何用最 | 更新日期: 2023-09-27 18:00:03
假设我有5个对象,每个对象都包含两个值。
我想总结一下,这样
double result=obj 1+obj 2+obj 3+obj 4+obj 5;
一种方法是将每个对象强制加倍,然后将它们相加。
double result=(double)obj 1+(double)obj 2+(double)obj 3+(double)obj 4+(double)obj 5; //let suppose this cast works!
有什么较短的方法可以做到这一点吗?
您可以将它们放入一个数组中,并在其中使用一些LINQ:
double sum = new[] { obj1, obj2, obj3, obj4 }.Cast<double>().Sum();
然而,最好的方法是将替身保留为替身,不要将其放入对象中。
Cast,但带有样式…:
static double SumDoubleObjects(params Object[] objs)
{
double sum = 0;
foreach (object curr in objs)
{
sum += (double)curr;
}
return sum;
}
可能的升级:
- 您可以使用扩展方法
- 添加类型安全检查
HTH