public static void EquipSlot1()
{
Console.WriteLine("Choose a weapon for slot 1:");
Console.WriteLine("1. Sword");
public int Slot1Choice = int.Parse(Console.ReadLine());
}
在上面的代码中,我无法在console.readline语句之后放置'}'来关闭该函数。在第二个writeline语句之后出现一条红色波浪形线,当我在readline语句之后放置'}'时,它将关闭该类而不是函数。所以我认为由于某种原因,函数内部不允许使用readline函数。难道我做错了什么?另外,如果不允许使用readline语句,我可以在函数中使用哪些其他形式的输入?
答案 0 :(得分:0)
这是因为方法上的公共访问修饰符。
在方法体内声明的变量具有方法的范围,不能公开。
用以下代码替换您的代码:
static int Slot1Choice;
public static void EquipSlot1()
{
Console.WriteLine("Choose a weapon for slot 1:");
Console.WriteLine("1. Sword");
Slot1Choice = int.Parse(Console.ReadLine());
}
答案 1 :(得分:0)
正如您在标题中提到的,这不是Console.WriteLine
的问题,错误原因是方法中的公共声明范围。如果我们在任何方法中声明变量意味着它的范围仅限于该特定方法,则不允许在方法内部使用此类公共声明。所以我们不允许重新定义公共变量的scope,所以它将如下所示:
public int Slot1Choice=0;
public static void EquipSlot1()
{
Console.WriteLine("Choose a weapon for slot 1:");
Console.WriteLine("1. Sword");
Slot1Choice = int.Parse(Console.ReadLine());
}