在循环中分配具有相似名称的不同变量

时间:2014-02-28 19:46:45

标签: c# variables loops

我有10个文本框,名为textBox1,textBox2为textBox10。我想在每个文本中分配字符串文本:

textBox1.text = "Stackoverflow1";
textBox2.text = "Stackoverflow2";
...
textBox10.text = "Stackoverflow10";

是否可以在循环中实现?类似的东西:

for(int i=1; i<=10; i++)
{
    ???? = "Stackoverflow" + i.ToString();
}

我在考虑使用列表,但是我可以将“变量”添加到列表中吗?假设我创建了一个列表:

List<String> Testing = new List<String>();
Testing.add(textBox1.text);
Testing.add(textBox2.text);
...
Testing.add(textBox10.text);
for(int i=1; i<=10; i++)
{
    Testing[i-1] = "Stackoverflow" + i.ToString();
}

但这不起作用,因为Testing []是一个字符串,在这种情况下不是变量。我怎样才能达到目的?

1 个答案:

答案 0 :(得分:7)

你几乎拥有它。只需将文本框本身放在列表中,而不是字符串。

List<TextBox> textBoxes = new List<TextBox>();
textBoxes.Add(textBox1);
textBoxes.Add(textBox2);
textBoxes.Add(textBox3);
// etc.

for (int i = 0; i < textBoxes.Count; ++i)
{
    textBoxes[i].Text = "Stackoverflow" + (i + 1).ToString();
}