因此,基本上对于类,我们在用户输入字符串的情况下使用if字符串,如果该字符串正确,我们将为特定变量分配一个值。我的代码似乎很好,但是由于某些原因,当我运行它并使用确切的字符串进行测试时,程序将遍历if并转到else,并打印else,即使我们的if为true。这是我的代码:(我在一开始就初始化了所有变量,此处未包含它们。
值= Console.ReadLine();
if (value == "ATX")
{
number1 = 3;
}
if (value == "XTS")
{
number1 = 34;
}
if (value == "CTS")
{
number1 = 2;
}
else
{
number1 = 0;
}
Console.WriteLine(number1);
所以基本上,如果我输入ATX或XTS,则得到number1 = 0,但是如果我进行CTS,则得到number1 =2。这是怎么回事?
最佳答案
实际上,当您传递"ATX"
或"XTS"
时,您的代码会将number1
变量的值设置为“ 3”或“ 34”。但是,您将使用最后一个number1
再次覆盖if-else
变量的值。块。
始终使用else if
if (value == "ATX")
{
number1 = 3;
}
else if (value == "XTS")
{
number1 = 34;
}
else if (value == "CTS")
{
number1 = 2;
}
else
{
number1 = 0;
}
Console.WriteLine(number1);