c#执行此代码的有效方法是什么 - 样式php“eval”

时间:2010-12-08 19:11:02

标签: c# variable-assignment labels

我在c#中有一个Windows应用程序,其形式为我有12个名称为

的标签
label1, label2 , ...............

我有12个数字的数组(经过一些计算)

喜欢:

int[] nums = new int[12] {1, 0, 4, 6,.............};

我想循环为每个标签项分配一个分别来自数组的值

类似

 for (int i = 1; i <= 12; i++) {
     label+i.Text = nums[i-1].ToString();
   }

这样做的有效方法是什么?

感谢

3 个答案:

答案 0 :(得分:7)

创建相应的标签数组:

Label[] labels = new Label[12] { label1, label2, ... };

for(int i = 0; i < 12; i++)
{
    labels[i].Text = nums[i].ToString();
}

答案 1 :(得分:5)

如果所有标签属于同一个控件(例如Panel),则可以使用find控件执行此分配:

for(int i = 0;i < 12; i++)
{
    Label lbl = myPanel.FindControl("Label" + i.ToString());
    lbl.Text = nums[i].ToString();
}

答案 2 :(得分:1)

您可以使用FindControl方法根据名称找到控件:

for (int i = 0; i < nums.Length; i++) {
  (Form.FindControl("label" + i.ToString()) as Label).Text = nums[i].ToString();
}