我正在尝试将int var转换为字符串var,以便在.txt文件中使用。我想出了一个“未分配的局部变量错误”。我看过其他问题,但我看不出我错过了什么。我以前能够将int var转换为字符串var,我不确定我哪里出错了。如果你也能用解决方案给我理论,那将是最有帮助的
int sbntmsk;
if (RBSBtn.Checked)
{
sbntmsk = 29;
}
if (BTSBtn.Checked)
{
sbntmsk = 30;
}
string subntmsk;
subntmsk = sbntmsk.ToString();
答案 0 :(得分:4)
编译器无法知道您的复选框是否会在运行时被检查,因此它会抱怨,因为变量sbntmsk
可能会到达您尝试将其转换为字符串而无需分配的价值。
修复消息声明并使用(或任何默认值)初始化sbntmsk
int sbntmsk = 0;
答案 1 :(得分:1)
您需要为整数提供默认值。例如,如果没有选中任何按钮,您希望在字符串中出现什么?
答案 2 :(得分:1)
你可以使用字符串吗?
var sbntmsk = String.Empty;
if (RBSBtn.Checked)
{
sbntmsk = "29";
}
if (BTSBtn.Checked)
{
sbntmsk = "30";
}
答案 3 :(得分:0)
尝试使用这种方法:
int sbntmsk;
if (RBSBtn.Checked)
{
sbntmsk = 29;
}
else if (BTSBtn.Checked) // Notice the ELSE - IF
{
sbntmsk = 30;
}
else
{
sbntmsk = 0; // a default value
}
string subntmsk = String.Empty; // initialize with empty
subntmsk = sbntmsk.ToString();
由于使用了多个复选框,因此您无需检查所有IF
块。此外,使用这种方式,您可以在最后定义“ELSE”块。
希望它有所帮助!