我在这做错了什么: 尝试访问已定义的方法,但收到错误说: “没有任何论据符合'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();
}
}
答案 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
变量一起使用。