我在网络表单中使用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 />";
}
}
答案 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;