2013-09-25 96 views
0

我試圖插入一個人的名字進入我的ArrayList中的特定位置,當我運行此我得到一個錯誤:插入到特定位置的ArrayList

public void InsertIntoArrayList(string actName, int posNum) 
{ 
    snip 
} 

用戶將進入到名稱文本框然後插入字符串的位置(索引).. 任何建議更簡單的方法來編碼這種方式或我可以改變它?

我得到的錯誤是 - 這the index is out of range。我認爲轉換可能會搞砸了?

+1

顯示如何創建ActorArrayList和確切的錯誤消息 – ilansch

+0

您是否檢查過posNum實際上是一個可以插入的數字?像在ArrayList的大小內? –

+0

System.Collections.ArrayList ActorArrayList = new System.Collections.ArrayList(); 數組列表中充滿了來自文本文件的5個名稱,然後用戶可以通過該表單向其添加新名稱,並將顯示在組合框中。 –

回答

2

指數從零開始。所以,第一項爲索引0和第十項索引9 ArrayList.Insert

int posNum; 
if(!int.TryParse(txtPosition.Text, out posNum)) 
{ 
    // show message 
    return; 
} 
else if(posNum < 0 || posNum > ActorArrayList.Count) 
{ 
    // show message 
    return; 
} 
ActorArrayList.Insert(posNum, actName); 

如果你想反正在結尾處加上了對象,你只需要使用Add

ActorArrayList.Add(actName); 

注意:您應該使用強類型List<T>而不是ArrayList,它們是冗餘的。 c# When should I use List and when should I use arraylist?

0

您可以隨時在數組中使用.ToList,然後使用List插入函數。