
索引超出了数组界限
Booleanfile=false;stringpath=Server.MapPath("~/userimg/");if(!Directory.Exists(path))...
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的话就很不方便了 展开
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的话就很不方便了 展开

2025-03-10 广告
IP批量查询筛选统计是我们公司的一项专业服务。我们利用先进的工具和技术,能够对大量IP地址进行快速查询,并根据客户需求进行精准筛选。通过智能算法,我们还能提供详细的统计分析报告,帮助客户深入了解IP地址的分布、活跃度等重要信息。这项服务广泛...
点击进入详情页
本回答由北京智动益企提供
展开全部
索引超出了数组界限是指在通过索引获取数组内的值时,索引超出了数组的总长度。
例如: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的第二个元素,以此类推。
例如: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的第二个元素,以此类推。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如你的数组里只有4个元素,你的程序调用了他的第六个元素,他不存在,就无法索引,然后报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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(注意是在首次加载时)
希望回答对你有帮助。
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(注意是在首次加载时)
希望回答对你有帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嗯,是的 在C#中数组下标是从0开始的. 也就是说
如果一个数组有三个元素.
应该是 aliex[0] ,aliex[1] , aliex[2]
这时候 aliex.Length = 3
那么 aliex[3] 当然已经超出了数组的界限.数组中根本不存在下标为3的元素
如果一个数组有三个元素.
应该是 aliex[0] ,aliex[1] , aliex[2]
这时候 aliex.Length = 3
那么 aliex[3] 当然已经超出了数组的界限.数组中根本不存在下标为3的元素
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询