冷眼旁观,对不起我的英文。 我正在开发一个控制台程序,并在“if”方法中找到一个错误。我让你的程序的核心,因此您可以运行它,并帮我解决这个问题c#IndexOutOfRangeException布尔型字符数组
class Program
{
static void Main(string[] args)
{
String read = "auto";
String write;
char[] read_arr = read.ToCharArray();
Console.WriteLine("Escribe la siguiente palabra: {0}", read);
write = Console.ReadLine();
char[] write_arr = write.ToCharArray();
if (read_arr.Length == write_arr.Length)
{
if(read == write)
{
Console.WriteLine("Felicitaciones!!, Acertaste");
}
else
{
for(int c = 0; c <= read_arr.Length; c++)
{
if (read_arr[c] != write_arr[c])
{
Console.WriteLine("La letra '{0}' es incorrecta", write_arr[c]);
}
}
Console.WriteLine("Lo siento, te has equivocado");
}
}
else
{
Console.WriteLine("Lo siento, te has equivocado");
}
Console.ReadKey();
}
}
开始这不是你怎么做。下面是你是如何做的:你写*精确地*你输入的内容是什么,并且你准确地写* *你得到的错误是什么,并且正确*你在哪一行上得到它。 –
你有'read_arr'和'write_arr',如果它们长度不一样,那么你的代码将无法访问(索引)索引'c'处的一个项目,所以你会得到一个错误。 – CodingYoshi
如果你有一个名为'names'的数组有两个项目,并且你写了'var name = names [8]'或者除了0和1之外的任何索引,你将会得到相同的错误。 – CodingYoshi