当前上下文中不存在该名称

本文关键字:不存在 上下文 | 更新日期: 2023-09-27 18:27:52

case 3:中,我写了mutteer(ba, bb, bc, bd, be);,这似乎给出了错误(名称ba在当前上下文中不存在)。给出了与bbbcbdbe相同的误差。

我做错了什么?

我删除了大部分不必要的代码:

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;
                    }
            }
        }

当前上下文中不存在该名称

您需要将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;
    }