0

我正在尝试将一个人的姓名插入到我的数组列表中的特定位置,运行此命令时出现错误:

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

用户将在名称文本框中输入名称,然后在插入字符串的位置(索引)中输入。关于更简单的编码方式或我可以更改它的方式的任何建议?

我得到的错误是 - 那the index is out of range。我认为转换可能搞砸了?

4

2 回答 2

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>而不是 a ArrayList,同时它们是多余的。c#什么时候应该使用List,什么时候应该使用arraylist?

于 2013-09-25T07:35:06.540 回答
0

您始终可以在数组上使用 .ToList ,然后使用 List 插入函数。

于 2013-09-25T07:33:51.020 回答