Console.WriteLine("请输入你的年龄");
            int age = Convert.ToInt32(Console.ReadLine());
            if (age > 18)
            {
                Console.WriteLine("可以查看");
            }
            else if (age > 10)
            {
                Console.WriteLine("是否查看 yes/no");
                string b = Console.ReadLine();
                if(b == "yes")
                {
                    Console.WriteLine("请继续查看");
                }
                else
                {
                    Console.WriteLine("请关闭程序");
                }
            }
            else
            {
                Console.WriteLine("不允许查看");
            }
            Console.ReadKey();这个是我写的一段代码,请问就是  if(b == "yes")  这一行 为什么不能用else if  一用就报错,而为什么if 是正确的
本人一开始用else if 的报错,很郁闷。新手 请解释的简单些 谢谢

解决方案 »

  1.   

    else if 可以的。参考:http://msdn.microsoft.com/en-us/library/5011f09h(v=vs.80).aspx
      

  2.   


    相同条件判断才能用if 、else if
    除非后面继续判断else if (age>20)  if(b == "yes")
    这是个新的判断条件,所以要用if不知道你懂了没
      

  3.   

    加上代码缩进就很好理解了。
    第二个独立的if判断条件是和b相关的,这个b作用域只在if (age > 10)这一块,不能写else Console.WriteLine("请输入你的年龄");
    int age = Convert.ToInt32(Console.ReadLine());
    if (age > 18)
    {
    Console.WriteLine("可以查看");
    }
    else if (age > 10)
    {
    Console.WriteLine("是否查看 yes/no");
    string b = Console.ReadLine();
    if(b == "yes")
    {
    Console.WriteLine("请继续查看");
    }
    else
    {
    Console.WriteLine("请关闭程序");
    }
    }
    else
    {
    Console.WriteLine("不允许查看");
    }
    Console.ReadKey();