我是第一次参加计算机课程的学生,我一直试图“破解”这个课程多年(我对此很新......抱歉!)。我似乎无法构建一个简单的if / else语句,如果满足条件,它会写出一个肯定的响应,如果不满足,则会写一个否定的响应。但是我得到了错误:
无效的表达术语'else'
只有赋值,调用,递增,递减和新对象表达式才能用作语句
对不起,如果这没有意义,我很困惑! :(
static void Main(string[] args)
{
Console.WriteLine("Do you like bananas?");
Console.ReadLine();
if (Console.ReadLine() == "Yes") ;
{
Console.WriteLine("Thanks for your time!");
}
else;
{
Console.WriteLine("Oh okay.");
}
}
}
}
答案 0 :(得分:7)
你需要删除else后面的分号。 一般来说
if (condition)
{
//code
}
else
{
//code
}
如果您有多个条件可以见到
if (condition)
{
//code
}
else if (condition 2)
{
//code
}
else
{
//code
}
如果上面没有满足任何条件,则使用最后一个else,它就像默认行为
此外,您不需要仅针对一行代码的大括号
if (condition) DoInterestingStuff();
else DoNotDoInterestingStuff();
一些示例条件(使用无条件的if语句进行澄清):
if (bananas == true)
if (bananas) // same as above
if (bananas != false) // not equal to false, thus true
if (totalBananas >= 10)
答案 1 :(得分:3)
没有分号:
if (Console.ReadLine() == "Yes")
{
Console.WriteLine("Thanks for your time!");
}
else
{
Console.WriteLine("Oh okay.");
}
答案 2 :(得分:2)
条件逻辑虽然简单,基本,但正确学习非常重要。你遗忘了很多东西:
;
。你做了:
if(Console.ReadLine() == "yes");
else;
声明特定部分末尾的;
无效。如果您使用Visual Studio或其他IDE不与工具对抗,他们会尝试帮助您解决此类问题。例如,在该语句中的;
下应该出现一条波浪线。
您的if else
应采用以下方式格式化:
if(value == "Yes")
{
Console.WriteLine("Thank you...");
}
else if (value == "No")
{
Console.WriteLine("No!");
}
else
{
Console.WriteLine("Ah...");
}
您希望尽早熟悉if else
和switch
声明。他们是基金会的关键部分。您可以在Microsoft Developer Network上找到更多详细信息。非常好的例子是对整个过程的探索。