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、通过修改,程序得到正确执行。