私はasp.netが初めてで、arraylistについて学ぶためにいくつかのコードを書いています
al.Add((string)"asfsaf");
al[1] = "bcd";
al.TrimToSize();
Response.Write(al[1]);
上記のコードから、行 al[1] = "bcd"; 間違っています。arraylist はインデックスによる要素の挿入をサポートしていますか? そうでない場合、他のデータ構造を置き換えることができますか?
ありがとう
以下のように .Insert() を試すことができます:
al.Insert(1, "bcd");
編集: リスト内のインデックスに基づいて直接挿入することはできません。インデックスに値を設定 (変更)/取得することしかできません。存在する場合
ArrayList でインデックス付けを使用することもできますが、ArrayList の代わりにGeneric Listを使用してください。タイプセーフです。また、インデックスに基づく挿入もサポートします。
インデックスを使用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";
インデックスに基づいてリストの要素を直接設定できないことに注意してください。
al[1] は、インデクサー経由で使用する前に作成する必要があります。
al[1] = "bcd";
の例外が発生しArgumentOutOfRangeException
ます。
配列のインデックスはゼロから始まることに注意してください。
上書きしたい場合は、このようにする必要があります。
al[0] = "bcd";