当前位置: 首页 > 编程语言 > C#

错误:索引超出数组范围,分享

时间:2023-04-11 12:17:41 C#

错误:索引超出数组范围。我知道问题出在哪里,但我对我的程序如何输出数组外的值感到困惑。我有一个从0到8的整数,这意味着它可以容纳9个整数,对吗?我检查了一个int以确保用户输入值为1-9。我从整数中删除一个(像这样)if(posStatus[intUsersInput-1]==0)//ifpos为空{posStatus[intUsersInput-1]+=1;}//设置为1然后我自己输入9就报错了。它应该访问数组中的最后一个int,所以我不明白为什么会出错。相关代码:publicint[]posStatus;publicUsersInput(){this.posStatus=newint[8];}intintUsersInput=0;//这会尝试解析并验证它是1-9if(posStatus[intUsersInput-1]==0)//如果我输入9,它应该转到8?{posStatus[intUsersInput-1]+=1;//将其设置为1}错误:“索引超出了数组的范围。”“指数数组的边界之外。”您已经声明了一个可以存储8个元素而不是9个元素的数组。this.posStatus=newint[8];这意味着postStatus将包含8个元素,索引为0到7。公共int[]posStatus;publicUsersInput(){//这意味着postStatus将包含从索引0到8的9个元素。this.posStatus=newint[9];}intintUsersInput=0;if(posStatus[intUsersInput-1]==0)//如果我输入9,它应该转到8?{posStatus[intUsersInput-1]+=1;//将其设置为1}//如果我输入9,它应该转到8?您仍然需要处理数组的元素。当遍历数组时,您将计算8个元素,但它们仍然是array(0)-array(7)。以上就是C#学习教程:Error:Indexexceedstherangeofarray.如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注——stringdob1=drUserInfo["dtpDateOfBirth"].ToString();DateTimedtt=DateTime.ParseExact(dob1,"MM-dd-yyyy",CultureInfo.InvariantCulture);字符串日期=dtt.ToString("yyyy-MM-dd");txtDOB.Text=日期;本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢