2012-10-15 34 views
1

我新的asp.net和我正在寫一些代碼來從上面的代碼中,行人[1瞭解的ArrayListasp.net插入由索引的元素到一個ArrayList

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

Response.Write(al[1]); 

] =「bcd」;是錯誤的,是arraylist支持按索引插入元素嗎?如果沒有,可以替換其他數據結構嗎?

感謝

回答

3

您可以嘗試.insert()這樣如下:

al.Insert(1, "bcd"); 
+0

如果列表不包含任何元素,將會失敗。 – Habib

+0

al.Insert(0,「bcd」);沒問題 – hkguile

1

編輯:根據列表中的一個索引時,不能直接插入,你只能設置(修改)/獲取的值的索引。 如果它存在


您可以使用索引與一個ArrayList爲好,但使用一個通用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"; 

記住,你不能直接設置基於索引列表的元素。

+0

我不會稱之爲基於索引的插入,而是基於索引進行修改。 –

+0

@DaveDoknjas,我認爲你不能直接插入List中的索引,你只能設置/獲取一個索引值。如果存在 – Habib

+0

if remove list.Add(「first element」); list.Add(「2nd element」);,腳本出錯 – hkguile

0

人[1]需要被創建之前,你可以通過索引使用它。

al[1] = "bcd";將導致ArgumentOutOfRangeException的例外。

記住數組索引從零開始。

如果你想覆蓋它,它應該是這樣的。

al[0] = "bcd"; 
相關問題