c#IndexOutOfRangeException布尔字符数组

c#IndexOutOfRangeException布尔字符数组,c#,arrays,if-statement,char,C#,Arrays,If Statement,Char,首先,对不起我的英语。 我正在处理一个控制台程序,在“if”方法中出现了一个错误。我让你了解程序的核心,这样你就可以运行它并帮助我解决这个问题 class Program { static void Main(string[] args) { String read = "auto"; String write; char[] read_arr = read.ToCharArray(); Console.Wri

首先,对不起我的英语。 我正在处理一个控制台程序,在“if”方法中出现了一个错误。我让你了解程序的核心,这样你就可以运行它并帮助我解决这个问题

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();
    }
}
类程序
{
静态void Main(字符串[]参数)
{
字符串read=“auto”;
字符串写入;
char[]read_arr=read.ToCharArray();
Console.WriteLine(“描述圣宫:{0}”,阅读);
write=Console.ReadLine();
char[]write_arr=write.ToCharArray();
if(读取长度==写入长度)
{
如果(读==写)
{
Console.WriteLine(“Felicitaciones!!,Acertaste”);
}
其他的
{

for(int c=0;c
for(int c=0;c这不是你怎么做的。这里是你怎么做的:你精确地写下你给出的输入是什么,你精确地写下你得到的错误是什么,并且精确地写在问题的哪一行。你有
read_arr
write_arr
,如果它们的长度不一样,那么你的代码就不会是be能够在索引
c
处访问(索引)一个项目,因此您将得到一个错误。如果您有一个名为
names
的数组,其中包含2个项目,并且您写入
var name=names[8]
或除0和1之外的任何索引,您将得到相同的错误。您的答案将解决问题,但您可能希望非常清楚地表明您删除了
=
,以便OP了解更改。是的,您是对的。有时很难注意到细微的更改,这是一个好的评论。
for(int c = 0; c <= read_arr.Length; c++)
for(int c = 0; c < read_arr.Length; c++)