所以基本上对于类我们使用if else,其中用户输入一个字符串,如果该字符串是正确的,我们为特定变量赋值.我的代码似乎很好,但出于某种原因,当我运行它并使用完全字符串测试程序运行if并转到else,并打印else,即使我们的if是真的.这是我的代码:(我在开始时初始化了所有变量,但这里没有包含它们.
value = Console.ReadLine();
if (value == "ATX")
{
number1 = 3;
}
if (value == "XTS")
{
number1 = 34;
}
if (value == "CTS")
{
number1 = 2;
}
else
{
number1 = 0;
}
Console.WriteLine(number1);
Run Code Online (Sandbox Code Playgroud)
所以基本上如果我输入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);
Run Code Online (Sandbox Code Playgroud)