C# ArrayList

wenjunsu 2010-11-22 11:24:09
ArrayList a = new ArrayList(9);
a[1] = null;

我这么写 会出错 我该如何清空ArrayList中指定的某一项的内存?
...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SunnyBoy 2010-11-22
  • 打赏
  • 举报
回复
ArrayList a = new ArrayList(9);
意思是声明ArrayList对象a 且该实例a初始化内存容量为9,此时实例a所存储的对象为空,所以
a[1] = null;是错误的的,会超出数组索引界限!

Ann725 2010-11-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wenjunsu 的回复:]
ArrayList a = new ArrayList(3);
a.RemoveAt(2);

还是错
[/Quote]
RemoveAt,这是索引的
或者你可以用某个控件比如说ListBox,来存放集合的内容,
要清空的话,就指定某项移除就好了
wenjunsu 2010-11-22
  • 打赏
  • 举报
回复
可是我里面有数据了。我只是这里没有写而已
whrspsoft3723 2010-11-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 wenjunsu 的回复:]
ArrayList a = new ArrayList(9);
a[1] = null;

我这么写 会出错 我该如何清空ArrayList中指定的某一项的内存?
[/Quote]

还没有元素呢。 如何不出错。lst.add("1");
兔子-顾问 2010-11-22
  • 打赏
  • 举报
回复
2楼不是给你解释过9表示的意义了么?你还测试3?服了你了。
wenjunsu 2010-11-22
  • 打赏
  • 举报
回复
ArrayList a = new ArrayList(3);
a.RemoveAt(2);

还是错
兔子-顾问 2010-11-22
  • 打赏
  • 举报
回复
ArrayList a = new ArrayList(9);
此时a中没有元素,9只表示内部用来存储数据的数组初始长度。

a[1] = null;
这里索引越界。
龍月 2010-11-22
  • 打赏
  • 举报
回复
remove

110,534

社区成员

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

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

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