gpt4 book ai didi

c# - If语句不能改变局部变量

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:41 26 4
gpt4 key购买 nike

为什么我不能使用 if 语句更改值?

        int amount;
string inputbalk = inputbar.Text;

if (inputbalk== string.Empty)
{
amount = Convert.ToInt32(inputbalk);
amount = 1;
}

if (inputbalk != string.Empty)
{
amount = Convert.ToInt32(inputbalk);
amount = 1;
}

int onepercent = amount/= 100;

它会将“金额”视为未分配的变量,即使我通过两个不同的 if 语句将其设置为 1。

如果我调试,我得到这个:“错误 1 ​​使用未分配的局部变量‘amount’”


谢谢大家的帮助,已经解决了。

最佳答案

把第二个if改成else

        if (inputbalk== string.Empty)
{
amount = Convert.ToInt32(inputbalk);
amount = 1;
}
else
{
amount = Convert.ToInt32(inputbalk);
amount = 1;
}

编译器无法确保两个 if 语句之一无论如何都会起作用,因此它会抛出错误,指出您的变量 can be unassigned

if/else 符号中,无论如何都会完成两个代码块之一,因此编译器不会抛出错误,一切都会按照您的意愿运行。

关于c# - If语句不能改变局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10205831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com