我正在尝试从几个文本框填充一个数组,然后用数组中的值进行计算。
我有下面的代码,但不知道为什么它不工作。在代码中解释:
private void button1_Click(object sender, EventArgs e)
{
double[] temperaturen = new double[6];
temperaturen[0] = double.Parse(textBox1.Text);
MessageBox.Show(temperaturen[0].ToString()); //the messagebox is just to test if
//it works
}
上面的代码可以工作,但是当我从更多的文本框中添加更多的值后,它就停止工作了:
private void button1_Click(object sender, EventArgs e)
{
double[] temperaturen = new double[6];
temperaturen[0] = double.Parse(textBox1.Text); //now it stops working and gives
temperaturen[1] = double.Parse(textBox2.Text); //the following error:
temperaturen[2] = double.Parse(textBox3.Text); //format exceptions was unhandled.
temperaturen[3] = double.Parse(textBox4.Text);
temperaturen[4] = double.Parse(textBox5.Text);
temperaturen[5] = double.Parse(textBox6.Text);
temperaturen[6] = double.Parse(textBox7.Text);
MessageBox.Show(temperaturen[0].ToString());
}
有人知道从文本框解析是不是正确的方法吗?为什么这不起作用?
3条答案
按热度按时间qlzsbp2j1#
请注意,您有7个文本框,而不是
6
,因此您应该声明new double[7]
。为了避免此类错误,让我们借助 Linq 进行查询:注意,该文本框可以包含 * 不是 * 有效浮点值的文本(例如,
"bla-bla-bla"
),在本例中我将double.NaN
(Nota****Nnumber)放入其中。k75qkfdt2#
真正解决问题的是:添加一个try catch,并将数组更改为具有7个值。
最后的代码,完全运行。
7lrncoxx3#
最后的代码,完全运行。