C# 索引超出了数组的边界:用户代码未处理IndexOutOfRangeException
我今天好像要失去它了。有人能帮我找到我做错了什么吗C# 索引超出了数组的边界:用户代码未处理IndexOutOfRangeException,c#,arrays,C#,Arrays,我今天好像要失去它了。有人能帮我找到我做错了什么吗 1. for (int y = 0; y < 5; y++) 2. { 3. IDataReader getLineInfo = DB.GetRS("Select LineText From TIF Where SCRID ='" + scRID + "' AND LineNum='" + y + "'"); 4. if (getLineInfo.Read()) 5. { 6. stri
1. for (int y = 0; y < 5; y++)
2. {
3. IDataReader getLineInfo = DB.GetRS("Select LineText From TIF Where SCRID ='" + scRID + "' AND LineNum='" + y + "'");
4. if (getLineInfo.Read())
5. {
6. string[] lineText = new string[y];
7. lineText[y] = (string)getLineInfo["LineText"];
8.
9. ((Label)item.FindControl(string.Format("lbl{0}", y))).Text = "<a href='" + lineText[y] + "' target='_blank'> Link</a>";
10. }
11. getLineInfo.Dispose();
12. getLineInfo.Close();
13. }
1。对于(int y=0;y<5;y++)
2.{
3.IDataReader getLineInfo=DB.GetRS(“从TIF中选择LineText,其中SCRID=”“+SCRID+”,LineNum=”“+y+””);
4.if(getLineInfo.Read())
5. {
6.字符串[]lineText=新字符串[y];
7.lineText[y]=(string)getLineInfo[“lineText”];
8.
9.((Label)item.FindControl(string.Format(“lbl{0}”,y))).Text=“”;
10. }
11.getLineInfo.Dispose();
12.getLineInfo.Close();
13. }
我在第9行得到了错误。我最初将“y”从1开始,因为没有lineNum==0。。但我想既然数组是从0开始的,我就搞乱了。但这并没有解决我的问题。如果有人能帮我看看我不是什么,我将不胜感激。此外,此页面上没有用户输入,因为我知道使用select语句的整个IDataReader可能不好
如果需要任何额外的信息,我可以把它写进去,感谢任何能提供帮助的人
string[] lineText = new string[y]; // array 0 .. y-1
lineText[y] = ...; // y = 1 element too far
另外,lineText
是在循环内部本地创建的,您只需将string[]lineText
替换为string lineText
,然后忘记y
如果您认为需要y
,则此代码中还存在其他错误/缺失
另外,lineText
是在循环内部本地创建的,您只需将string[]lineText
替换为string lineText
,然后忘记y
如果您认为需要
y
,则此代码中还存在其他错误/缺失 您需要像这样声明数组
string[] lineText = new string[y+1];
您需要像这样声明数组
string[] lineText = new string[y+1];
有什么好的理由吗
string[] lineText = new string[y];
是在循环中吗?
`
此外,如果分配了一个“y”元素数组,那么访问索引“y”处的元素必然会引发异常。在“y”元素数组中,最后一个元素位于索引“y-1”(从0开始)。有什么好的理由吗
string[] lineText = new string[y];
是在循环中吗?
`
此外,如果分配了一个“y”元素数组,那么访问索引“y”处的元素必然会引发异常。在“y”元素数组中,最后一个元素位于索引“y-1”(从0开始)。为什么不使用字符串而不是字符串数组
string lineText = (string)getLineInfo["LineText"];
((Label)item.FindControl(string.Format("lbl{0}", y))).Text = "<a href='" lineText + "' target='_blank'> Link</a>";
string lineText=(string)getLineInfo[“lineText”];
((Label)item.FindControl(string.Format(“lbl{0}”,y))).Text=”“;
为什么不使用字符串而不是字符串数组
string lineText = (string)getLineInfo["LineText"];
((Label)item.FindControl(string.Format("lbl{0}", y))).Text = "<a href='" lineText + "' target='_blank'> Link</a>";
string lineText=(string)getLineInfo[“lineText”];
((Label)item.FindControl(string.Format(“lbl{0}”,y))).Text=”“;
非常感谢,我现在想起来了,不知道为什么我要尝试制作数组。。今天只是其中的一天。谢谢你的帮助非常感谢,我现在想起来了,我不知道为什么我要做一个数组。。今天只是其中的一天。谢谢你的帮助