从Main()调用pre-definend方法

时间:2017-03-27 23:37:54

标签: c#

我在这做错了什么: 尝试访问已定义的方法,但收到错误说: “没有任何论据符合'Program.PutInTheBag(ref List)所需的形式参数'bag''......”

我的方法(PutInTheBag())不需要任何参数,我怎么能告诉我的程序忽略它? 如果那是不可能的,我如何从我的所有方法(包括Main())访问我的包列表? 附: Plz不判断太难,我只是一个初学者......

 class Program
{
    List<string> bag = new List<String>();
    static void Main(string[] args)
    {
        Console.WriteLine("Välkommen till ryggsäcken!");

        while (true)
        {
            MainMenu();
            int userChoice;
            int.TryParse(Console.ReadLine(), out userChoice);

            if (userChoice == 1)                
                PutInTheBag();                                   

            else if 
            // some code

            else
            {
                //some code
            }
        }

    }        

    private static void PutInTheBag(ref List<string> bag)
    {
        Console.Write("Lägg till ett föremål: \t");
        bag.Add(Console.ReadLine());
        Console.Clear();
        Console.WriteLine("Innehållet sparat! \nTryck en valfri knapp för att komma till huvudmenu");
        Console.ReadKey();
        Console.Clear();
    }

}

2 个答案:

答案 0 :(得分:1)

  

我的方法(PutInTheBag())不需要任何参数,我该怎么办   告诉我的程序忽略了吗?

从此处更改方法签名:

private static void PutInTheBag(ref List<string> bag)

到此:

private static void PutInTheBag()
  

如何从我的所有方法(包括Main()中访问我的行李列表   孔)?

同样改变这个:

List<string> bag = new List<string>();

到此:

static List<string> bag = new List<string>();

答案 1 :(得分:0)

ref参数仍需要传递给它的值。 PutInTheBag方法不会自动知道您可能打算将其与bag中的Program变量一起使用。