此刻,我有多个文本块,我想根据字符串的名称进行访问。请看下面的例子:C#:使用字符串值作为对象引用的名称
TextBlock test1 = new TextBlock();
TextBlock test2 = new TextBlock();
TextBlock test3 = new TextBlock();
TextBlock test4 = new TextBlock();
public static void changeValues()
{
string name = "test";
for (int i = 1; i < 5; i++)
{
[name + i].Text = "Wow";
}
}
正如你所看到的,我试图访问文本1,文本2,等我这样做的原因是因为“名”的值可以随时更改,所以我可以重新使用这段代码。我也可以使“i < 5”成为“i <数字”并且该方法将int作为参数之一。当然问题是这不会真正起作用。我需要字符串名称作为名称给出的TextBlock的引用。任何帮助表示赞赏!
为什么不使用数组来代替? – PetSerAl
数组为什么,为什么? – Saghen
你有没有问题'[name + i] .Text =“哇”'?如果是这样,你不应该这样访问控制。相反,试试吧, this.Controls [name + i] .Text =“哇”; – Bharathi