在ArrayList中的某个位置插入c#

时间:2012-10-09 17:21:18

标签: c# c#-4.0 arraylist

ArrayList ArrAcc = new ArrayList(); 
string ArrValue = ClsContractAccount.GetAccount(LngContract, "R"); 
ArrAcc.Insert(1, ArrValue);

当我尝试执行此查询时,获取ArgumentOutOfRangeException我的执行错误了什么?

6 个答案:

答案 0 :(得分:5)

您必须以0索引

开头
ArrAcc.Insert(0, ArrValue);

答案 1 :(得分:2)

ArrayList索引从0开始,...所以你应该使用

ArrAcc.Insert(0, ArrValue);

....或更好

ArrAcc.Add(ArrValue);

顺便说一句,....你应该使用generic版本的ArrayList:List<T>(由.NET 2.0 +支持)。

答案 2 :(得分:0)

您无法插入未被占用的位置。你可以添加该项目。

答案 3 :(得分:0)

你的索引应该小于Count,而在C#中,一切都是基于0的索引。所以,你应该有ArrAcc.Insert(0, ArrValue);

答案 4 :(得分:0)

您必须从0开始。您可以使用以下代码:

        if (index <= arr.Count)
            arr.Insert(index, "something");
        else
            arr.Add("something");

答案 5 :(得分:0)

来自MSDN

  

调用方法并且传递给方法的至少一个?参数不为null且不包含有效值时,抛出ArgumentOutOfRangeException。

要使用您的代码如下:

ArrayList ArrAcc = new ArrayList(2) {"","" };
    string ArrValue = "Salam";
    ArrAcc.Insert(1, ArrValue)