C#将结构字符串保存到文件中时出错
有人能帮我解决这个问题吗? 因此,在第70行和第75行,我在数组中输入了一个新值,但我得到了这个错误: 未处理的异常:System.IndexOutOfRangeException:索引超出数组的边界。C#将结构字符串保存到文件中时出错,c#,C#,有人能帮我解决这个问题吗? 因此,在第70行和第75行,我在数组中输入了一个新值,但我得到了这个错误: 未处理的异常:System.IndexOutOfRangeException:索引超出数组的边界。 在Application.Main()中:0 [错误]致命的未处理异常:System.IndexOutOfRangeException:索引超出了数组的边界。 在0中的Application.Main()处 代码: 谢谢 获取异常的位置上的代码: num_players = num_playe
在Application.Main()中:0
[错误]致命的未处理异常:System.IndexOutOfRangeException:索引超出了数组的边界。
在0中的Application.Main()处 代码:
谢谢 获取异常的位置上的代码:
num_players = num_players + 1;
Array.Resize(ref players, num_players);
players[num_players].Name = s;
resize语句将数组调整为索引范围为0到num_-1的数组。您可以使用的最高索引是num_playes-1
因此,如果您尝试访问玩家[num_players],则可能会出现异常
调整阵列大小是一项非常昂贵的操作。通常,如果您确信数组的大小不会改变,人们建议只使用数组。在所有其他情况下,使用列表for(int k = 0; k == num_players; k--)
{
players[k] = players[k + 1];
}
所以你从k=0开始;做你的事情,做k-,给你一个k=-1的值。我几乎不相信这就是你想要做的。你想让我们猜猜70行和75行写的是什么吗?请添加你的代码和几句关于你想要实现的目标的句子。也考虑适当的格式化,这只是不可更新的代码,请不要在外部链接你的代码,而是把它嵌入到问题中。提示:一个10个项目的数组有9个最后的索引,因为它在0开始计数。