如何在 C# 中通过循环组成变量名称?

2024-02-13

我重写了这个问题,因为不是每个人都明白。希望没问题,这是同样的主要问题。非常抱歉

我有一个带有 15 个进度条的 winform,名为:“baraClasa1”、“baraClasa2”、“baraClasa3”...“baraClasa15”。我必须分配 .VALUE 属性(如int)到所有这些,从一些数据库记录。 (不同时间段的记录访问不同的值) 我在想也许可以使用循环将 .Value 属性分配给所有这些属性,方法如下:

for(int i=0; i<value; i++)
{
   "baraClasa+i".Value = 20 + i;  
}

是否可以这样组成变量名称?

我对字典、列表不太了解,但会研究。如果什么都不起作用,我就做丑陋的事:

int value = 20;
baraClasa1 = value;
baraClasa2 = value +1;....

感谢您的所有帮助


你必须做一点反思。

    public string variable0, variable1, variable2, variable3, variable4, variable5;

    private void button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < 6; i++)
        {
            //pretending my variable names are variable1, variable2.. ("variable" is NOT an array! just the "assign" variable)
            System.Reflection.FieldInfo info = this.GetType().GetField("variable" + i.ToString());

            // replace "testing" with the value you want e.g. assign[i]
            info.SetValue(this, "testing");
        }

        // Do something with your new values
    }

无需对更新的问题使用反射。控件集合有一个内置的查找功能,用于通过名称字符串获取控件。

 for (int i = 0; i < 6; i++)
 {
   ProgressBar bar = (ProgressBar)this.Controls["baraClasa" + i.ToString()];
   bar.Value =  50;
 } 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 C# 中通过循环组成变量名称? 的相关文章

随机推荐