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 でインデックス付けを使用することもできますが、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";

インデックスに基づいてリストの要素を直接設定できないことに注意してください。

于 2012-10-15T05:33:27.147 に答える
0

al[1] は、インデクサー経由で使用する前に作成する必要があります。

al[1] = "bcd";の例外が発生しArgumentOutOfRangeExceptionます。

配列のインデックスはゼロから始まることに注意してください。

上書きしたい場合は、このようにする必要があります。

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