9

如何将 a 的内容相乘list <double>

List<double> mult=new List<double>{3, 5, 10};

到目前为止,我有:

double r=0.0;
for(int i=0;i<mult.Count;i++)
{
    r=mult[i]*mult[(i+1)];
}
4

2 回答 2

22

要修复您的循环,请从列表中的每个项目开始1.0并相乘,如下所示:

double r = 1.0;
for(int i = 0; i < mult.Count; i++)
{
    r = r * mult[i]; // or equivalently r *= mult[i];
}

但为简单起见,您可以使用一些带有Aggregate扩展方法的 Linq:

double r = mult.Aggregate((a, x) => a * x);
于 2013-10-12T15:51:43.830 回答
2

你说的乘法是什么意思?如果你喜欢计算产品,那么你的代码是错误的,正确的代码是

double r=1.0;
for(int i=0;i<mult.Count;i++)
{
    r *= mult[i];
}
于 2013-10-12T15:54:05.163 回答