0

人の名前を配列リスト内の特定の位置に挿入しようとしていますが、これを実行するとエラーが発生します:

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

ユーザーは、名前のテキストボックスに名前を入力してから、文字列を挿入する位置 (インデックス) を入力します。

私が得るエラーは - それthe index is out of rangeです。変換が台無しになる可能性があると思いますか?

4

2 に答える 2

2

インデックスはゼロ ベースです。したがって、最初のアイテムはインデックス 0 にあり、10 番目のアイテムはインデックス 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# いつ List を使用し、いつ arraylist を使用する必要がありますか?

于 2013-09-25T07:35:06.540 に答える