c#IndexOutOfRangeException布尔字符数组
首先,对不起我的英语。 我正在处理一个控制台程序,在“if”方法中出现了一个错误。我让你了解程序的核心,这样你就可以运行它并帮助我解决这个问题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
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;cfor(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++)