首页 新闻 会员 周边 捐助

C# Arraylist 空元素

0
悬赏园豆:10 [已解决问题] 解决于 2010-11-04 09:33

如果我想在C#的Arraylist中的特定位置插入数据,就像是数组一样,但是又想有动态的特性,例如说:

 

目前Arraylist中有{0,1,2,3,4} 5个元素,现在使用ArrayList.insert(8,8);但是这肯定会报错,因为IndexOutOfRange了。

 

如果我想在该Arraylist的最后一个元素再后面几个位置的某一个地方插入(例如例子中,Arraylist.Count = 5,但是我想在下标为8的地方插入元素),该怎么做呢?

 

是先add几个元素到8的位置,还是有别的办法呢?

kkmm的主页 kkmm | 初学一级 | 园豆:115
提问于:2010-10-28 16:17
< >
分享
最佳答案
0

好像只能这样,你长度只有5,结果要加到8,肯定得先加几个空元素扩充,你可以用AddRange加上空元素。

收获园豆:5
陆敏技 | 菜鸟二级 |园豆:275 | 2010-10-28 16:37
其他回答(4)
0

例:

ArrayList al = new ArrayList(new object [] {20,"343","45" });
al.Add(1);
al.Insert(al.Count, "");
al.Insert(al.Count, "");
al.Insert(al.Count, 12);

收获园豆:3
个人抽屉 | 园豆:143 (初学一级) | 2010-10-28 16:41
0

如楼上ArrayList

Add()是在array.Count(也就是最后)这个位子插入数据

Insert(index,value) 在Index位置插入数据 而且index>=0且<=array.Count

收获园豆:2
写代码的小2B | 园豆:4377 (老鸟四级) | 2010-10-28 16:53
0

ArrayList al = new ArrayList();
            for (int i = 0; i < 3; i++)
            {
                al.Add(i);
            }

            al.Insert(1, "pinky");

 

这样加啊.. 将pinky插到索引是1 的地方

sansan- | 园豆:163 (初学一级) | 2010-10-28 16:57
这个办法到可以值得一试啊!
支持(0) 反对(0) 王祖康 | 园豆:505 (小虾三级) | 2010-10-28 17:14
哥们,我是说插入到后面的位置,例如当前元素总数是5,我要插入到8的位置。
支持(0) 反对(0) kkmm | 园豆:115 (初学一级) | 2010-11-04 09:32
0

按你的要求不妨换成双向链表。

WellDone | 园豆:223 (菜鸟二级) | 2010-11-02 20:40
双向链表也解决不了问题啊,还是会发生越界的问题。
支持(0) 反对(0) kkmm | 园豆:115 (初学一级) | 2010-11-04 09:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册