如何使用ArrayList?

mobydick 2004-02-02 05:08:11
有如下代码:

Point[2] p1 = {new Point[1, 2],
new Point[4, 4]};
Point[2] p2;
ArrayList al = new ArrayList();

foreach(Point p in p1)
al.Add(p);


现在有两个数组,将数组p1的值赋给al之后,如何使用ArrayList提供的ToArray()方法,将al的值赋给p2?
MSDN看了,但是没看懂。是直接写p2 = al.ToArray(),提示“不能将Object隐式转换为Point[]”,如果写p2 = (Point) al.ToArray(),提示“不能将Object转换为Point[]”。
又没有人用过这个东东,和我说说吧。先谢了。
...全文
130 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
idiotzeng 2004-02-03
  • 打赏
  • 举报
回复
ArrayList.CopyTo Method

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcollectionsarraylistclasscopytotopic3.asp
idiotzeng 2004-02-03
  • 打赏
  • 举报
回复
p2 = (Point[])al.ToArray(typeof(Point))
mobydick 2004-02-03
  • 打赏
  • 举报
回复
这个问题没有人回答么?
mobydick 2004-02-02
  • 打赏
  • 举报
回复
To: Orangeate(丫头)
这样不行,我试过了。
mobydick 2004-02-02
  • 打赏
  • 举报
回复
我是这样用的:
int j = 0;
j = al.Count;
Point[] p2 = new Point[j];
for(int k = 0; k <j;k++)
p2[k] = (Point)al[k];

al在前面已经有了,p2临时生成,这里用了个循环,不过我想既然提供了ToArray()这个方法,那么就一定可以不用循环而将ArrayList转换为数组。可是我不会。大家帮忙啊。
Orangeate 2004-02-02
  • 打赏
  • 举报
回复
是不是应该这么写 p2 = (Point[])al.ToArray() ?
mobydick 2004-02-02
  • 打赏
  • 举报
回复
因为我需要数组,其实程序中没有p1,al是动态生成的,现在要把al转换成p1。
Dugu_Niu 2004-02-02
  • 打赏
  • 举报
回复
为什么不把p2改为object[]

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧