C#Arraylist成标签

时间:2015-09-27 13:51:51

标签: c# asp.net

我在网络表单中使用C#。我设置了一个arraylist。我有一个按钮,在文本框中添加用户输入到arraylist。我使用+ =将arraylist打印到标签上。我只是将新条目打印到现有列表时遇到了麻烦。每次添加时,它都会再次打印出整个列表。我理解为什么它会这样做,但只是不能包裹我的油炸大脑如何修复代码,所以它在列表中添加了一个新条目而不重复整个列表。

protected void Button1_Click(object sender, EventArgs e)
{


    ArrayList itemList = new ArrayList();
    itemList.Add("red");
    itemList.Add("blue");
    itemList.Add("green");
    itemList.Add(TextBox1.Text);

    foreach (object item in itemList)
    {
        Label1.Text += item + "<br />";
    }



}

3 个答案:

答案 0 :(得分:2)

Don't use the obsolete ArrayList class。使用它的通用版本List<T>

List<string> itemList = new List<string>();
itemList.Add("red");
itemList.Add("blue");
itemList.Add("green");
itemList.Add(textBox1.Text);

现在您可以用一行更新标签......

Label1.Text = string.Join("<br />", itemList);

修改

  

不幸的是,对于这个例子,我必须使用arraylist

你仍然可以用一行

来做
Label1.Text = string.Join("<br />", itemList.Cast<string>());

答案 1 :(得分:1)

只需在for循环之前添加Label1.Text =“”。

答案 2 :(得分:0)

在开始循环之前,请执行以下操作:

Label1.Text = string.Empty;