Mel*_*oot 1 c# console visual-studio
我正在编写一个小程序控制台程序,询问姓名和年龄,然后确定你是否已经足够大了.我尝试使用变量来确定此人是否可以继续:
Bool door = true;
Run Code Online (Sandbox Code Playgroud)
然后我想问那些因年龄而被拒绝的人,如果他们想再次填写.
if (door == false){
Console.WriteLine("Wilt u op nieuw uw leeftijd invullen?");
}
Run Code Online (Sandbox Code Playgroud)
但是Visual Studio给出了以下错误:
错误CS0103当前上下文ConsoleApplication1中不存在名称"door"
这是完整的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("Hallo, wie ben jij? ");
string Name = Convert.ToString (Console.ReadLine());
Console.Write("Hallo " + Name + ", hoe oud ben jij? ");
int Age = Convert.ToInt32 (Console.ReadLine());
Console.ReadLine();
if (Age < 18) {
int remaining = 18 - Age;
Console.WriteLine("Helaas bent u nog geen achttien, U moet nog: "+remaining+" Jaar wachten.");
Console.ReadLine();
} else if (Age == 18) {
Console.WriteLine("U mag net door");
bool door = true;
Console.ReadLine();
} else {
Console.WriteLine("U bent door naar de volgende ronde");
bool door = true;
Console.ReadLine();
}
if (door == false)
{
Console.WriteLine("Wilt u op nieuw uw leeftijd invullen?");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
每对花括号在C#中{ ... }定义一个范围.这意味着在该区域宣布的所有内容都是该区域的本地区域.这意味着当你这样做时:
{
Console.WriteLine("U mag net door");
bool door = true;
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
door变量所在的区域受封闭的大括号限制,并且在其他任何地方都不存在.当你试图在之后使用它时if (door == false),在一个被调用的变量door不存在且从未存在的地方,编译器基本上会告诉你.
您需要预先声明您的变量,例如
bool door = false;
if (Age < 18){
//....
} else {
Console.WriteLine("U bent door naar de volgende ronde");
door = true;
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
能够在整个程序中使用它.