invalidcastexception未经处理,输入后c#错误
我试图用一个简单的程序计算一个方程式,但当我试图运行我的代码时,我得到了这个异常invalidcastexception未经处理,输入后c#错误,c#,math,C#,Math,我试图用一个简单的程序计算一个方程式,但当我试图运行我的代码时,我得到了这个异常 Unable to cast object of type 'System.Windows.Forms.TextBox' to type 'System.IConvertible'. 我不知道我做错了什么,这个等式看起来不错,但这就是产生错误的地方,这个等式我正试图编码 下面是我的代码 namespace WindowsFormsApplication1 { public partial class F
Unable to cast object of type 'System.Windows.Forms.TextBox' to type 'System.IConvertible'.
我不知道我做错了什么,这个等式看起来不错,但这就是产生错误的地方,这个等式我正试图编码
下面是我的代码
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
double r = 0;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
r = (((Math.Sqrt(2) * Convert.ToDouble(textBox4.Text)) /(2* Math.PI * Convert.ToDouble(textBox3.Text))) * (1/Convert.ToDouble(textBox2) +1/Convert.ToDouble(textBox1)) );
label7.Text = "R1 = " + r.ToString() + " ohms/km";
}
}
}
你的问题是,在你的长队结束时有这样一个问题:
(1/Convert.ToDouble(textBox2) +1/Convert.ToDouble(textBox1))
这需要是textBox2.Text
,因为不能将textbox对象转换为double
同样为了可读性,不在一行中进行所有转换是值得的,而是一次一个转换为单独的变量,然后使用这些变量。这也会使你不太可能遭受这种类型的问题,因为这样可以更清楚地知道哪里出了问题。textBox2.Text!和文本框1。文本!小心