抱歉,我是编码新手,在尝试了一切之后我无法弄清楚!我有 6 个屏蔽文本框,用户输入分贝值,应该将它们保存到列表中,将每个输入到公式中并输出总分贝值,但它只是将添加的变量作为 6,这是计数列表而不是实际值。当我尝试一个 foreach 循环时,它使它成为一个无限循环。
private void dBAddButton_Click(object sender, EventArgs e)
{
List<double> addDBList = new List<double>();
double final;
double added = 0;
addDBList.Add(double.Parse((dB1.Text)));
addDBList.Add(double.Parse((dB2.Text)));
addDBList.Add(double.Parse((dB3.Text)));
addDBList.Add(double.Parse((dB4.Text)));
addDBList.Add(double.Parse((dB5.Text)));
addDBList.Add(double.Parse((dB6.Text)));
for (int i = 0; i < addDBList.Count; i++)
{
added += Math.Pow(10, (i / 10));
}
final = 10 * Math.Log10(added);
totaldB.Text = final.ToString();
}
}
公式基本上是10log[10^(first value/10)+10^(second value/10)...+10^(nth value/10)]