我得到的索引超出了第33和46行的界限。为什么会这样? 我试图扭转数组。我知道错误代码的含义,但我不知道为什么我会得到它。 第33行 - 字符串反转= ReverseArray(制作); 第46行 - 返回reverseCraft [5];
//make an array to be reversed
string[] craftArray = new string[5] { "Iron", "Stone", "Copper", "Steel", "Clay" };
//create a variable to hold return value
string[] crafting = new string[5];
//function call the ReverseCraft method
string reversed = ReverseArray(crafting);
//Report the calculation to the user
Console.Write("The array reversed is" + reversed);
}
public static string ReverseArray(string[] craft)
{
//create a variable and reverse
string[] reverseCraft = new string[5] { craft[4], craft[3], craft[2], craft[1], craft[0] };
//return value
return reverseCraft[5];
}
}
}
答案 0 :(得分:2)
您的反向方法签名错误。它应该返回string[]
,如下所示:
public static string[] ReverseArray(string[] craft) {
//create a variable and reverse
string[] reverseCraft = new string[5] { craft[4], craft[3], craft[2], craft[1], craft[0] };
//return value
return reverseCraft;
}
使用此代码,您需要做的就是正确打印结果:
string[] reversed = ReverseArray(crafting);
//Report the calculation to the user
Console.Write("The array reversed is " + string.Join(", ", reversed));
答案 1 :(得分:0)
它在线上抛出错误
return reverseCraft [5];
因为没有reverseCraft [5]。
reverseCraft的第一个元素是reverseCraft [0],最后一个元素是reverseCraft [4]。