首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >input后出现c#错误invalidcastexception was unhandled

input后出现c#错误invalidcastexception was unhandled
EN

Stack Overflow用户
提问于 2013-05-02 18:18:31
回答 1查看 83关注 0票数 0

我正在尝试用一个简单的程序计算一个方程,但是当我尝试运行我的代码时,我得到了这个异常

代码语言:javascript
复制
Unable to cast object of type 'System.Windows.Forms.TextBox' to type 'System.IConvertible'.

我不知道我做错了什么,方程式看起来没问题,但这就是产生错误的地方,这是我试图编码的方程式。

下面是我的代码

代码语言:javascript
复制
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";

        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-02 18:20:49

你的问题是在你的长队列的末尾有这样的东西:

代码语言:javascript
复制
(1/Convert.ToDouble(textBox2) +1/Convert.ToDouble(textBox1))

它需要为textBox2.Text,因为您不能将textbox对象转换为double。

另外,出于可读性的考虑,最好不要在一行中完成所有的转换,而是一次一个地转换成单独的变量,然后使用这些变量。这也会让你不太可能遇到这种类型的问题,因为它会更清楚地指出哪里出了问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16335542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档