ArrayList ArrAcc = new ArrayList();
string ArrValue = ClsContractAccount.GetAccount(LngContract, "R");
ArrAcc.Insert(1, ArrValue);
このクエリを実行しようとすると ArgumentOutOfRangeException が発生するのですが、何が問題なのですか?
0 インデックスから開始する必要があります
ArrAcc.Insert(0, ArrValue);
0から開始する必要があります。次のコードを使用できます。
if (index <= arr.Count)
arr.Insert(index, "something");
else
arr.Add("something");
占有されていない位置に挿入することはできません。そのアイテムを追加するだけです。
インデックスはカウントよりも小さくする必要があり、C# ではすべてが 0 ベースのインデックスです。だから、あなたが持っている必要がありますArrAcc.Insert(0, ArrValue);
MSDNから
ArgumentOutOfRangeException は、メソッドが呼び出され、メソッドに渡された ?arguments の少なくとも 1 つが null ではなく、有効な値が含まれていない場合にスローされます。
次のようにコードを使用するには:
ArrayList ArrAcc = new ArrayList(2) {"","" };
string ArrValue = "Salam";
ArrAcc.Insert(1, ArrValue)