c# - Errors in IF statement and I don't know why (C# Visual Studio)
问题描述
I am learning C# in Microsoft Visual Studio and was trying to do an if statement but I get a red underline after the } that is after Console.WriteLine("{0} is a valid Age", a); and I have no idea why.
string age;
Console.WriteLine("Enter age: ");
age = Console.ReadLine();
int a = Convert.ToInt32(age);
if (a > 12 && a < 19);
{
Console.WriteLine("{0} is a valid Age", a);
}
else
{
Console.WriteLine("Invalid Age");
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
解决方案
if 语句的条件后面有一个分号。将其删除为:
if (a > 12 && a < 19)
{
// ...
如果你好奇为什么红色下划线直到 之后才出现}
,那是因为 C# 中的 if 语句允许后跟一条语句。在这种情况下,语句为空并由;
. 这与花括号和 Console.WriteLine 相结合,使得else
不属于if
,这是不允许的,并在该点触发红色下划线。