c#数组列表中的标签

本文关键字:标签 列表 数组 | 更新日期: 2023-09-27 18:14:55

我在一个web表单c#工作。我设置了一个数组列表。我有一个按钮,将用户输入的文本框添加到数组列表。我用+=将数组列表打印成一个标签。我在打印现有列表的新条目时遇到了麻烦。每次添加时,它都会再次打印出整个列表。我明白为什么它这样做,但只是不能包装我的油炸大脑在此刻如何修复代码,所以它添加一个新的条目到列表,而不重复整个列表。

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 />";
    }

}

c#数组列表中的标签

不要使用过时的ArrayList类。使用它的通用版本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);

编辑

不幸的是,对于这个例子,我必须使用数组列表

你仍然可以用一行

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

只需添加Label1。Text = "

在开始循环之前:

Label1.Text = string.Empty;