我正在构建一个表单,该表单从文本框中获取输入数字,然后将获取输入的数字,并在另一个文本框中显示等效的罗马数字。
我的表格:
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;
}
因为您的变量尚未分配int numberInput;
等错误。您说输入来自TextBox,在这种情况下,请执行以下操作,假设textbox1
是您的TextBox控件实例名称
int numberInput = Convert.ToInt32(this.textbox1.Text.Trim());
如果解析不成功,Convert.ToInt32可能会抛出异常。另一种方法是Int.Parse:
int numberInput = int.Parse(textbox1.Text.Trim());
还是更好
int numberInput;
if(int.TryParse(textbox1.Text.Trim(), out numberInput))
{
switch (numberInput)
...
}