C# 试图在多个方法中使用一个字段,但在我的字段看起来不是';不被使用
我似乎无法使我的字段/列表正常工作。我想添加到列表中,并在C# 试图在多个方法中使用一个字段,但在我的字段看起来不是';不被使用,c#,C#,我似乎无法使我的字段/列表正常工作。我想添加到列表中,并在CheckUserInput和PlayerMove方法中使用该列表。它说它没有被使用,但我在这些方法中使用它,没有任何错误 我试着用它玩了一会儿,所有的方法都是静态方法,所以我必须创建一个静态字段 private static List<string> AlreadyUsed = new List<string>(); private static void CheckUserInput(ref int play
CheckUserInput
和PlayerMove
方法中使用该列表。它说它没有被使用,但我在这些方法中使用它,没有任何错误
我试着用它玩了一会儿,所有的方法都是静态方法,所以我必须创建一个静态字段
private static List<string> AlreadyUsed = new List<string>();
private static void CheckUserInput(ref int player, ref string answer, ref bool error)
{
AlreadyUsed.Add("");
if(int.Parse(answer) > 9)
{
Console.WriteLine("You have entered a value outside the array. Skipping your turn.");
error = true;
}
else
{
for (int i = 0; i <= 9; i++)
{
if (AlreadyUsed[i] == "X" || AlreadyUsed[i] == "O")
{
Console.WriteLine("You have already entered a value in this slot. Skipping your turn.");
error = true;
}
}
}
}
private static void PlayerMove(ref string answer, string[] arr, ref int player) //make whole new class for this method?
{
for (int i = 0; i <= 8; i++) //make player move
{
if (answer == arr[i])
{
if (player == 1)
{
arr[i] = "X";
AlreadyUsed.Add(answer);
}
else
{
arr[i] = "O";
AlreadyUsed.Add(answer);
}
}
}
}
private static List AlreadyUsed=new List();
私有静态void CheckUserInput(ref int播放器、ref字符串应答、ref bool错误)
{
加上(“”);
如果(整数解析(答案)>9)
{
WriteLine(“您输入了数组之外的值。跳过轮次。”);
错误=真;
}
其他的
{
for(int i=0;i看起来像是在CheckUserInput方法中,您迭代列表,直到索引9,但是您的代码显示,列表中没有那么多的项要迭代,并且会发生索引超出范围的异常
在该for循环中,如果您试图检查AlreadyUsed是否包含字符串“X”或“O”,则无需使用contains方法执行for循环,请使用以下代码替换CheckUserInput方法中的for循环:
if (AlreadyUsed.Contains("X") || AlreadyUsed.Contains("O"))
{
Console.WriteLine("You have already entered a value in this slot. Skipping your turn.");
error = true;
}
这不是错误消息所说的。请共享确切的错误消息。用于(int i=0;我很抱歉没有输入错误消息,但是我得到了一个NullReferenceException,并通过查看错误消息找到了问题的根源。我不确定如何复制错误消息,但它说:对象引用未设置为对象的实例,但由于它是静态的,我认为我不必实例化i或者我在这里遗漏了什么?其他人也可以看到我的评论,即使它被标记为重复的,因为我仍然有一个问题。谢谢你的帮助,但是在这段代码上面,我需要设置对象对对象实例的引用,但我认为这不是必需的,因为它是static?静态类不能实例化,但这不适用于静态字段!