日期:2014-05-18  浏览次数:20647 次

关于集合的代码,大家帮忙看看!
[code=C#][/code]
double[] cc=new double[4]{1,2,3,4};
class center
{
public double[] aa;
public int bb;
}
List<center> centers=new List<center>();
for(int i=0;i<3;i++)
{
centers[i].aa=cc;//此处显示错误;索引超出范围;
centers[i].bb=i;
}
[code=C#][/code]
意思就是把aa和bb当做一个整体,放在集合中,
大家帮忙分析一下,错误的原因,是不是class center要先实例化啊??

------解决方案--------------------
C# code

List<center> centers=new List<center>();
for(int i=0;i<3;i++)
{
center ct = new center();
centers.Add(ct);
centers[i].aa=cc;//此处显示错误;索引超出范围;
centers[i].bb=i;
}

------解决方案--------------------
设断点进行调试,看列表内是否存在此索引值的元素
------解决方案--------------------
List<center> centers=new List<center>();
木有添加项,比如centers.add(...);
你的centers[i]是哪来的
------解决方案--------------------
集合中还没有任何对象,引用当然会提示越界了
应先添加对象 在对集合中的对象进行操作
------解决方案--------------------
探讨

是呀,我太天真了,需要学习的东西还很多啊
引用:

集合中还没有任何对象,引用当然会提示越界了
应先添加对象 在对集合中的对象进行操作