C# - 插入数组列表

时间:2016-03-15 22:37:57

标签: c# arraylist

在Insert Into ArrayList按钮的click事件处理程序中,检查用户是否具有:在Position文本框中输入一个位置。在“演员姓名”文本框中输入演员姓名。

检查这些文本框以查看用户是否输入了值。如果用户输入的值不正确,只要他们输入了值,请不要担心。如果未输入任何文本,则以消息框格式显示相关的错误消息并退出方法,因此不会进行进一步处理。

通过调用InsertIntoArrayList来执行此操作,传递这些值并导致将新值插入ArrayList。

最后,调用PopulateActors来更新其项目以反映更改。

到目前为止我的代码没有插入数组:

 private void btnInsert_Click(object sender, EventArgs e)
        {            

            if (string.IsNullOrEmpty(txtPosition.Text))
            {
                MessageBox.Show("Please enter a Position");
                return;
            }
            if (string.IsNullOrEmpty(txtActorName.Text))
            {
                MessageBox.Show("Please enter an Actor Name");
                return;
            }

            InsertIntoArrayList(txtActorName.Text, Position);
            PopulateActors();
        }        

使用的方法是:

void InsertIntoArrayList(string txtActorName, int txtPosition)
            {

            ArrayList ActorArrayList = new ArrayList();

            ActorArrayList.Insert(txtActorName, txtPosition);

            }

void PopulateActors()
            {
                cboActor.Items.Clear();

                foreach (string Actor in ActorArrayList)
                {
                    cboActor.Items.Add(Actor);
                }
            }
新手编码器! 为你的帮助干杯:)

1 个答案:

答案 0 :(得分:1)

你的问题在这里:

void InsertIntoArrayList(string txtActorName, int txtPosition)
{

      ArrayList ActorArrayList = new ArrayList();

      ActorArrayList.Insert(txtActorName, txtPosition);

}

每次调用此函数时,您都会创建一个新的ArrayList并在其中插入一些内容。但是,这个ArrayList随后会从内存中释放,因为功能块已经完成。

您需要在班级中添加实例成员并在那里插入数据。 您可以在课程顶部添加类似的内容:

private ArrayList  ActorArrayList = new ArrayList();

同样Insert期望Int作为其第一个参数,因此您可能希望切换这两个参数。