在case 3:
我写了mutteer(ba, bb, bc, bd, be);
这似乎给出了错误(名称ba在当前上下文中不存在)。
它在bb
bc
bd
和be
时也会出现同样的错误。
我做错了什么?
我删除了大部分不必要的代码:
static void menu()
{
int loop = 4;
Console.WriteLine(" 3 Mutteer Voorraad");
while (loop > 2)
{
var ans = Console.ReadLine();
mp3();
int choice = 0;
if (int.TryParse(ans, out choice))
{
switch (choice)
{
case 3:
Console.WriteLine("Mutteer Voorraad.");
mutteer(ba, bb, bc, bd, be);
break;
default:
Console.WriteLine("Wrong selection!!!");
Thread.Sleep(1800);
Console.Clear();
goto top;
}
}
else
{
Console.WriteLine("You must type numeric value only!!!");
Thread.Sleep(1800);
Console.Clear();
goto top;
}
}
}
static void mp3()
{
int ba = 500;
int bb = 500;
int bc = 500;
int bd = 500;
int be = 500;
mp3players mp1 = new mp3players();
mp1.id = 1;
mp1.VR = ba;
}
static void mutteer(int ba, int bb, int bc, int bd, int be)
{
int i = 1;
int a;
startloop:
while (i == 1)
{
Console.WriteLine("Wat is het Id van de mp3 speler?");
try
{
a = Convert.ToInt16(Console.ReadLine());
}
catch
{
Console.WriteLine("Dat is geen nummer waarde!");
goto startloop;
}
if (a == 1)
{
Console.WriteLine("Wat is het nieuwe voorraad");
try
{
i = 2;
ba = Convert.ToInt32(Console.ReadLine());
}
catch
{
Console.WriteLine("Dat is geen nummer waarde!");
goto startloop;
}
}
}
答案 0 :(得分:1)
您需要将ba
的声明和其他变量移动到全局范围。由于代码目前已编写,因此只能在mp3
方法的范围内访问它们。你应该:
static int ba = 500;
static int bb = 500;
static int bc = 500;
static int bd = 500;
static int be = 500;
static void mp3()
{
mp3players mp1 = new mp3players();
mp1.id = 1;
mp1.VR = ba;
}