索引超出了数组界限

Boolean file = false;
string path = Server.MapPath("~/userimg/");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
else
{
if (FileUpload1.HasFile)
{
string filex = System.IO.Path.GetExtension(FileUpload1.FileName).ToString();
string[] aliex = { "jpg", "gif", "png" };
for (int i = 0; i <= aliex.Length; i++)
{
if (filex == aliex[i])
{
file = true;
Label1.Text = "开始上传!";
}
}
}
for (int i = 0; i <= aliex.Length; i++)
这句出错,索引超出了数组界限
那应该如何修改呢?要把I改成小于等于2的话就很不方便了

1、定义一个int整形类型的数组,初始化10个整数,从1到10;然后循环依次输出11次,由于数组里只有10个数。

2、第11次是抛出了数据越界的错误:java.lang.ArrayIndexOutOfBoundsException。

3、将程序修改一下,保证程序不会非法的运行到第11次,获取数组的长度Array.length;当我们从数组取数时控制在这个长度范围内进行。

4、通过修改,程序得到正确执行。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-03
索引超出了数组界限是指在通过索引获取数组内的值时,索引超出了数组的总长度。
例如:int[]
Array
=
{1,2,3,4,5,6,7,8,9,10};
在这个int型数组Array中有10个元素,它的总长度是10,索引是0-9。
当使用for循环获取数组内的值时,如果索引是10,则会报错,错误原因是
索引超出了数组界限。
for(int
i=0;i<11;i++)
{
System.
out
.println(
String.
format(“
第%d元素的值是%\n",i+1
,Array[i]));
}
扩展资料
数组的特点:
1、数组是相同数据类型的元素的集合。
2、数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
3、数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。
第2个回答  2019-08-26
比如你的数组里只有4个元素,你的程序调用了他的第六个元素,他不存在,就无法索引,然后报错
第3个回答  2020-05-05
static
int
value;/*在第一次加载时运行,value的值为0*/
static
point[]
point
=
new
point[value];/*在第一次加载时运行,而value的值为0,因此point.length的值为0(数组元素个数为0*/
point[i].y
=
600
-
(convert.toint32(ds.tables["运动"].rows[i][1])
*
20)
/
100;/*因此运行此句时出错,索引越界*/
解决办法:
在page_load()方法里构造数组point(注意是在首次加载时)
希望回答对你有帮助。
第4个回答  推荐于2017-09-23
嗯,是的 在C#中数组下标是从0开始的. 也就是说

如果一个数组有三个元素.
应该是 aliex[0] ,aliex[1] , aliex[2]
这时候 aliex.Length = 3

那么 aliex[3] 当然已经超出了数组的界限.数组中根本不存在下标为3的元素本回答被提问者采纳

索引超出数组范围是什么意思
索引超出了数组界限是指在通过索引获取数组内的值时,索引超出了数组的总长度。例如:int[] Array = {1,2,3,4,5,6,7,8,9,10};在这个int型数组Array中有10个元素,它的总长度是10,索引是0-9。当使用for循环获取数组内的值时,如果索引是10,则会报错,错误原因是 索引超出了数组界限。for...

新建数据库关系图,弹出“索引超出了数组界限”,是咋回事?
在操作SQL Server 2019时,你可能会遇到这样一个情况:尝试新建数据库关系图时,系统弹出“索引超出了数组界限”的错误提示。这往往表明你的操作环境与软件版本存在不兼容性问题。在检查文件夹时,你发现使用的是较旧的SSMS版本(2018),这可能正是问题的根源。升级SSMS到适用于2008—2019版本的最新版本,...

索引超出了数组界限如何解决
数组是通过下表进行访问,但超出下标(索引)最大值(数组长度-1)就会访问超出界限 如:int [] arr= new int[2];;arr[0]=1;arr[1]=2;-此数组长度为2,下标最大为1(数组下标从0开始)-如果下标超出0-1这个范围就会出现索引超出界限问题。-限制下标(索引)的取值范围,或者数组长度增加都可...

索引超出了数组界限如何解决
索引超出了数组界限如何解决:1、在test.php文件内使用header设置test.php执行的编码为utf8,避免乱码的出现。2、随后在test.php文件内创建一个测试数组,对应的索引值分别为0、4、8。3、在test.php文件中使用array_values方法将上一步的数据重新排序,从0开始,把重新排序的数组保存在$result变量中。4...

索引超出了数组界限
4、索引超出了数组界限是指在通过索引获取数组内的值时,索引超出了数组的总长度。例如:int[]Array={1,2,3,4,5,6,7,8,9,10};在这个int型数组Array中有10个元素,它的总长度是10,索引是0-9。5、索引超出了数组界限是指在通过索引获取数组内的值时,索引超出了数组的总长度。例如:...

在java中,如何处理索引超出数组界限的问题?
索引超出了数组界限解决方法:a.connected[i] = vertices[i+1];称之为索引i+1。这将导致一个index out of bounds exception。(在你n等于19的例子中:有效索引将是[0-18]。你的循环将从0-18开始,但是在该行中,它将会添加一个18 + 1 = 19,这是一个无效索引)在你的循环中将条件更改为...

matlab中的索引超出数组界限怎么办?
2、方法:限制索引取值范围0到(数组长度-1),或者增加数组的长度。arr[0]=1;arr[1]=2;此数组长度为2,下标最大为1(数组下标从0开始);如果下标超出0-1这个范围就会出现索引超出界限问题。3、你可以使用MATLAB的内置函数size()来确定你的表格的大小,然后确保你的索引在这个范围内。如果你的...

为什么数组索引超出了数组界限?
“索引超出了数组界限"并不是说索引有多长,而是说这个索引在数组的界限当中找不到,可以适当增大数组的大小,使得下面用到的索引能够处在数组的界限中。当然数组不是越大越好,盲目增大数组大小势必会加大内存的开销,响应速度会变慢。还有一种方法就是使用变量来动态控制数组大小,事先定义一个变量,...

索引超出了数组界限解决方法
quot索引超出了数组界限quot并不是说索引有多长,而是说这个索引在数组的界限当中找不到,在楼主的代码中,无法保证String args 一定有值即可能不存在args0,如果楼主是想在string args有值的情况下才输出第一个。嗯,是的 在C#中数组下标是从0开始的 也就是说 如果一个数组有三个元素应该是 aliex0...

索引超出了数组界限如何解决?
举个例子,假设我们有一个包含10个元素的数组,索引范围从0到9。如果我们尝试访问索引为10的元素,就会超出数组的界限。为了避免这种情况,我们可以在访问数组元素之前检查索引是否合法,即索引值是否在0到9之间。此外,在使用循环遍历数组时,要确保循环的终止条件正确设置,避免循环次数过多导致索引超出界...

相似回答