首页 > 解决方案 > 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();

标签: c#visual-studioif-statement

解决方案


if 语句的条件后面有一个分号。将其删除为:

if (a > 12 && a < 19)
{
  // ...

如果你好奇为什么红色下划线直到 之后才出现},那是因为 C# 中的 if 语句允许后跟一条语句。在这种情况下,语句为空并由;. 这与花括号和 Console.WriteLine 相结合,使得else不属于if,这是不允许的,并在该点触发红色下划线。


推荐阅读