ArrayList不能用索引赋值?

zhengfujie 2010-11-09 02:55:13
如题

...全文
366 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
恩,解决了我的问题,确实对可变长度的arraylist初始长度为0,那么用索引arraylist[0]因为不存在,会提示索引超出范围!
wuhan_dotnet 2010-11-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhengfujie 的回复:]
引用 4 楼 wuhan_dotnet 的回复:
引用 1 楼 zhengfujie 的回复:
ArrayList array = new ArrayList();
array.Add("s");

array[0]= "aaa";

Response.Write(array[0]);
这样就OK
ArrayList array = new ArrayList();

arr……
[/Quote]]
呵呵。。没说是根据Count来,我的意思是指里面没元素。。
「已注销」 2010-11-09
  • 打赏
  • 举报
回复
是根据count知道了。

csrwgs 2010-11-09
  • 打赏
  • 举报
回复
原因是这样的。一定要先初始化,不然无法赋值
「已注销」 2010-11-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuhan_dotnet 的回复:]
引用 1 楼 zhengfujie 的回复:
ArrayList array = new ArrayList();
array.Add("s");

array[0]= "aaa";

Response.Write(array[0]);
这样就OK
ArrayList array = new ArrayList();

array[0]= "aaa";

Response.……
[/Quote]

不是根据count来的吧
dangbuzhu 2010-11-09
  • 打赏
  • 举报
回复
应该可以用 index 赋值
q107770540 2010-11-09
  • 打赏
  • 举报
回复
你可以这样:
string[] ss=new string[10];
ss[0]="aaa";
wuhan_dotnet 2010-11-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhengfujie 的回复:]
ArrayList array = new ArrayList();
array.Add("s");

array[0]= "aaa";

Response.Write(array[0]);
这样就OK
ArrayList array = new ArrayList();

array[0]= "aaa";

Response.Write(array[0]……
[/Quote]

第2种方法是因为你的array里还没有元素Count是为0的。。你用索引肯定会出错了
xiehuanxie 2010-11-09
  • 打赏
  • 举报
回复
变长数组, 效率一般
「已注销」 2010-11-09
  • 打赏
  • 举报
回复
来个人,要结贴都结不了
「已注销」 2010-11-09
  • 打赏
  • 举报
回复
ArrayList array = new ArrayList();
array.Add("s");

array[0]= "aaa";

Response.Write(array[0]);
这样就OK
ArrayList array = new ArrayList();

array[0]= "aaa";

Response.Write(array[0]);
这样就错误。

arraylist索引操作只能对已有的元素重新赋值或取值
才发现。悲剧

111,129

社区成员

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

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

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