1

我是asp.net的新手,我正在编写一些代码来了解arraylist

al.Add((string)"asfsaf");
al[1] = "bcd";
al.TrimToSize();

Response.Write(al[1]);

从上面的代码中,行 al[1] = "bcd"; 错了,arraylist 是否支持按索引插入元素?如果没有,可以替换任何其他数据结构吗?

谢谢

4

3 回答 3

4

您可以尝试 .Insert() 如下:

al.Insert(1, "bcd");
于 2012-10-15T05:39:22.510 回答
1

编辑:您不能直接基于列表中的索引插入,您只能设置(修改)/获取索引的值。如果存在


您也可以将索引与 ArrayList 一起使用,但使用 Generic List而不是 ArrayList。它的类型安全。并且还支持基于索引的插入。

你可以使用ArrayList索引

List<string> list = new List<string>();
list.Add("first element");
list.Add("2nd element");

Console.Write(list[0]);
Console.Write(list[1]);

list[0] = "AAA - element"; //In actual its a modification, 
                           //if there is no element, there will b exception
list[1] = "BBB - element";

请记住,您不能直接根据索引设置列表的元素。

于 2012-10-15T05:33:27.147 回答
0

al[1] 需要先创建,然后才能通过索引器使用它。

al[1] = "bcd";将导致ArgumentOutOfRangeException.

记住数组索引从零开始。

如果你想覆盖它,它应该是这样的。

al[0] = "bcd";
于 2012-10-15T05:42:32.687 回答