使用表单内的文本框切换语句

问题描述 投票:0回答:2

我正在构建一个表单,该表单从文本框中获取输入数字,然后将获取输入的数字,并在另一个文本框中显示等效的罗马数字。

我的表格:

enter image description here

private void convertButton_Click(object sender, EventArgs e)
    {
        int numberInput;
        switch (numberInput)

这是我不断收到错误代码的地方。 “switch(numberInput)”被视为未分配的局部变量。如何分配它以便能够访问所有大小写整数?

        {
            case 1:
                outputTextBox.Text = "I";
                break;
            case 2:
                outputTextBox.Text = "II";
                break;
            case 3:
                outputTextBox.Text = "III";
                break;
            case 4:
                outputTextBox.Text = "IV";
                break;
            case 5:
                outputTextBox.Text = "V";
                break;
            case 6:
                outputTextBox.Text = "VI";
                break;
            case 7:
                outputTextBox.Text = "VII";
                break;
            case 8:
                outputTextBox.Text = "VIII";
                break;
            case 9:
                outputTextBox.Text = "IX";
                break;
            case 10:
                outputTextBox.Text = "X";
                break;
            default:
                MessageBox.Show("Please enter and number between 1 and 10. Thank you!");
                break;


        }
c# switch-statement
2个回答
0
投票

因为您的变量尚未分配int numberInput;等错误。您说输入来自TextBox,在这种情况下,请执行以下操作,假设textbox1是您的TextBox控件实例名称

int numberInput = Convert.ToInt32(this.textbox1.Text.Trim());

0
投票

如果解析不成功,Convert.ToInt32可能会抛出异常。另一种方法是Int.Parse:

int numberInput = int.Parse(textbox1.Text.Trim());

还是更好

int numberInput;
if(int.TryParse(textbox1.Text.Trim(), out numberInput))
  {
      switch (numberInput) 
        ...

  }
© www.soinside.com 2019 - 2024. All rights reserved.