我自己建了一个类:PointClass.cs因为要从文件大量写入数据,并且不知道要用多长的数组,于是我用了ArrayList,伪代码如下:ArrayList pointlist=new ArrayList();for(int i=1;i<range.count;i++)
{
PointClass point=new PointClass();
……
……
//数据写入了point
pointlist.Add(point);//将写好的数据加入pointlist中构成一个存放PointClass类的一维数组
}然后我想调用pointlist里的数据:for(int i=0;i<pointlist.Count;i++)
{
PointClass wpoint=new PointClass;
wpoint = pointlist[i];
//这出错了:无法将类型“object”隐式转换为“PointsEditor.Class.PointClass”。存在一个显式转换(是否缺少强制转换?)
……
……
}应该怎么转换?谢谢!
{
PointClass point=new PointClass();
……
……
//数据写入了point
pointlist.Add(point);//将写好的数据加入pointlist中构成一个存放PointClass类的一维数组
}然后我想调用pointlist里的数据:for(int i=0;i<pointlist.Count;i++)
{
PointClass wpoint=new PointClass;
wpoint = pointlist[i];
//这出错了:无法将类型“object”隐式转换为“PointsEditor.Class.PointClass”。存在一个显式转换(是否缺少强制转换?)
……
……
}应该怎么转换?谢谢!
或者用list<PointClass>
ArrayList存的其实是Object类型,所以取值时要强制转换,如果存的类型是值类型的话,建议使用List<T>
因为使用ArrayList会照成大量的装箱操作,影响效率