因此,我刚刚开始学习C#,老实说,我不知道自己在做什么。我正在尝试制作一个字符串反向应用程序,并且我想出了以下代码:
string input = Console.ReadLine();
char[] wordArray = input.ToCharArray();
for(int i = input.Length; i >= 0; --i)
{
Console.Write(wordArray[i]);
}
我检查了许多不同的教程和文档,据我从大多数教程和文档中了解到,这应该可以,但是不能。
每当我运行该应用程序时,我都会输入要撤消的单词,该应用程序将崩溃。它显示一个错误,指出“索引在数组的边界之外”。我发现了使用Array.Reverse()在线反转字符串的更好方法,但是我仍然想了解为什么会发生此错误。就像我之前说过的那样,我不太确定自己在做什么,如果有人可以用外行的话解释一下,我会很高兴。
最佳答案
您的错误在这里int i = input.Length;
。您的数组从0索引开始,最后一个元素在索引input.Length-1
上。因此,当您从input.Lenght
开始时,您将越界。