C# 为什么我总是犯这些错误?

C# 为什么我总是犯这些错误?,c#,C#,我正试图用C语言编写一个程序,允许用户输入售出的座位数,然后程序将每个数字乘以价格,得到每个部分的座位数。我已经讲完了,但由于texbox.toString部分下面的红线,程序无法运行。有人能帮我知道我的错误是什么吗 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void label7_Click(object sende

我正试图用C语言编写一个程序,允许用户输入售出的座位数,然后程序将每个数字乘以价格,得到每个部分的座位数。我已经讲完了,但由于texbox.toString部分下面的红线,程序无法运行。有人能帮我知道我的错误是什么吗

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void label7_Click(object sender, EventArgs e)
    {

    }

    private void button3_Click(object sender, EventArgs e)
    {
        this.Close();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        textBox4.Text = "";
        textBox3.Text = "";
        textBox2.Text = "";
        total.Text = "";
        input1.Text = "";
        input2.Text = "";
        input3.Text = "";
    }

    private void button1_Click(object sender, EventArgs e)
    {
        int input1;
        int input2;
        int input3;

        input1 = int.Parse(input1.ToString());
        input2 = int.Parse(input2.ToString());
        input3 = int.Parse(input3.ToString());

        int sum1 = input1 * 15;
        int sum2 = input2 * 12;
        int sum3 = input3 * 9;

        sum1 = textBox3.ToString();
        sum2 = textBox2.ToString();
        sum3 = textBox4.ToString();
    }
}

要获取文本框中写入的
字符串

textBox.Text;
要在文本框中显示值
sum

textBox.Text = sum.ToString();
这就是
按钮1\u单击
的方式,至少看起来是这样的:

private void button1_Click(object sender, EventArgs e)
{
    int in1; // change int names to not confuse woth textboxes
    int in2;
    int in3;

    in1 = int.Parse(input1.Text); // input1 is textBox
    in2 = int.Parse(input2.Text);
    in3 = int.Parse(input3.Text);

    int sum1 = in1 * 15;
    int sum2 = in2 * 12;
    int sum3 = in3 * 9;

    textBox3.Text = sum1.ToString();
    textBox2.Text = sum2.ToString();
    textBox4.Text = sum3.ToString();

}
你可以用

int.Parse(textbox.Text);

sum
是整数,但
textBox.ToString()
是字符串。不能将字符串赋给整数

应该是


textBox3.Text=sum1.ToString()

出现此问题是因为您试图将字符串的值存储到int中

该行:

sum = textBox.ToString();
只是将
textBox
的值转换为字符串,而不是
textBox
中文本的值,并将其传递到
sum
变量中。那不行

请尝试以下方法:

sum = Convert.ToInt32(textBox.Text);
但是,如果要在
文本框
中显示
sum
的值,可以将int隐式转换为字符串:

textBox.Text = sum;
改用文本框控件的“Text”属性。最好将其设置为类似“input1.Text.Trim()”的格式,因为这将删除意外进入输入的任何前导/尾随空格

作为最佳实践,尤其是在从UI中的文本控件获取值时,最好使用Int32.TryParse。(请参阅:)


另外,您的代码不遵循基本的命名约定。

您是不是要使用
textbox.Text
来代替?我建议使用NumericUpDown控件输入数字数据。这将阻止您每次在这里或那里进行打字。您将得到
“使用未分配的局部变量'input1…
,因为您定义的
int input1
与您的文本框名称
input1
相同,请尝试我的回答中提出的解决方案您不需要。ToString()在文本之后,因为它已经是一个字符串。这是对的@AnimalStyle,我刚刚重新检查了代码,似乎他遇到了一些其他问题。我使用了这一行,现在在我的输入行“input1=int.Parse(input1.ToString());括号中的输入是“使用未赋值的局部变量'input…”@chouaib我想现在有一个完整的解决方案了。@Niomi:检查我的答案