小编Jon*_*igh的帖子

我在C#中声明了一个变量,不能在switch语句中使用它

考虑一下这个C#代码:

string gr = comboBox1.ValueMember;
decimal sum;
try
{
    decimal rite = Convert.ToDecimal(textBox1.Text);
    decimal left = Convert.ToDecimal(textBox2.Text);
}
catch (Exception)
{
    string swr = "Please enter REAL a number, can be with decimals";
    label2.Text = swr;
}

switch (gr)
{
    case "X":
        sum = 12M;
        break;
    case "/":
        break;
    case "*":
        break;
    case "-":
        break;
    default:
        break;
}

answerText.Text = Convert.ToString(sum);
Run Code Online (Sandbox Code Playgroud)

如果我sum在switch语句中给小数一个值,它会弹出一个错误语句说:

使用未分配的局部变量'sum'

我是C#的新手,所以这可能听起来很愚蠢.看起来我ALREADY在switch语句中设置了sum的值.我尝试sum = 12M;在所有其他案例陈述中使用相同的内容,但这似乎没有帮助.

顺便说一下,我也在修改switch语句之外的其他变量时遇到问题 - EX.仪式,左;

c# variables scope local switch-statement

2
推荐指数
1
解决办法
3960
查看次数

我声明一个变量,不能在switch语句中使用它

string gr = comboBox1.ValueMember;
decimal sum = 0M;
try
{
    decimal rite = Convert.ToDecimal(textBox1.Text);
    decimal left = Convert.ToDecimal(textBox2.Text);
}
catch (Exception)
{
    string swr = "Please enter REAL a number, can be with decimals";
    label2.Text = swr;
}
switch (gr)
{
    case "X":

        sum = rite * left;
        break;
    case "/":

        break;
    case "*":
        break;
    case "-":
        break;
    default:

        break;

}
answerText.Text = Convert.ToString(sum);
Run Code Online (Sandbox Code Playgroud)

我在修改switch语句之外的其他变量时遇到问题 - EX.仪式,左;
每当我尝试编译代码时,它都会显示错误消息"当前上下文中不存在名称'左'." 与整数仪式相同.

.net c# scope switch-statement

0
推荐指数
1
解决办法
506
查看次数

标签 统计

c# ×2

scope ×2

switch-statement ×2

.net ×1

local ×1

variables ×1