|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为二次编译器太复杂,那么建议只是在安装程序的时候编译一次,而不类似java那样运行就编译。并且我觉得,一次痛苦,总比多次低效率要舒服多了。起首要晓得,呈现该毛病的缘故原由是由于会见了汇合中不存在的值。
打个很复杂的好比:
比方如今声了然一个List<int>工具,而且向个中拔出两条数据。那末它的下标只能是从0到1,我们经由过程下标会见List<int>中的值时,List[0],List[1]都不会有错,但从List[2]入手下手就会报"索引超越局限。必需为非负值并小于汇合巨细的办理办法"的毛病了,由于List<int>工具中只要两个值,而你要从中掏出第三个乃至更多的值来,固然就会报错了。
示例:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Web.UI.WebControls;
usingSystem.Data;
namespaceWebApplication1
{
publicpartialclassWebForm1:System.Web.UI.Page
{
List<int>list=newList<int>();声明一个List<int>汇合
protectedvoidPage_Load(objectsender,EventArgse)
{
//往汇合中拔出两条数据
list.Add(100);
list.Add(200);
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
//入手下手会见汇合中的值
Response.Write(list[0].ToString());//不会堕落
Response.Write(list[1].ToString());//不会堕落
Response.Write(list[2].ToString());//会报索引超越局限的毛病,毛病提醒以下:
}
}
}
“/”使用程序中的服务器毛病。
--------------------------------------------------------------------------------
索引超越局限。必需为非负值并小于汇合巨细。
参数名:index
申明:实行以后Web哀求时代,呈现未处置的非常。请反省仓库跟踪信息,以懂得有关该毛病和代码中招致毛病的出处的具体信息。
非常具体信息:System.ArgumentOutOfRangeException:索引超越局限。必需为非负值并小于汇合巨细。
参数名:index
总结:
1,在使用程序中呈现该毛病时,我们就要想到是由于我们会见了不存在的汇合值,最大概的缘故原由是利用了汇合的最年夜的索引值来会见汇合值。好比我们在删除某值后再来会见它,就会报出下面的毛病了。
2,呈现该毛病另外一个大概性,声了然汇合后,并没有往汇合中拔出值就会见汇合中的值了。
3,没有弄分明,汇合的索引是从0入手下手的,也就是说假如汇合中有i个值,那末list[0]是汇合中的第一个值,list[i-1]就已是汇合中最初一个值了,list就已超越了汇合的局限。你觉得学习.NET怎么样,我懂的少,问的可能很幼稚,见笑了啊:) |
|