c# - 在循环中动态更改 C# 变量名称

标签 c# mysql dynamic

我正在尝试在 C# 中的 MySQLDataReader 中启用并重命名标签。如果可能的话,我愿意在循环之外执行此操作,但想知道是否有一种方法可以动态更改变量的名称。例如:

while (listNamesREAD.Read())
{
    int i = 0;
    //TextBox1.Text = TextBox1.Text + fieldnames.GetString(0) + ", ";
    stringArray[i] = "List #" + listNamesREAD.GetString(0) + ": " + listNamesREAD.GetString(1);
    list1Label.Text = stringArray[i];
    i++;
}

如果可能的话,我希望代码能够在每次循环时更改 list1Label 的名称。我对 Visual C# 比较陌生,因此我们将不胜感激。

using (MySqlCommand cmd0 = new MySqlCommand(listNames, conn))
{
    conn.Open();
    listNamesREAD = cmd0.ExecuteReader();
    try
    {
        while (listNamesREAD.Read())
        {
            int i = 0;
            //TextBox1.Text = TextBox1.Text + fieldnames.GetString(0) + ", ";
            stringArray[i] = "List #" + listNamesREAD.GetString(0) + ": " + listNamesREAD.GetString(1);
            list+i+Label.Text = stringArray[i];
            i++;
        }
    }

如果可能的话,我也愿意在 DataReader 之外完成此任务。使用普通的 while 循环,因为数组大小是动态的,所以我确切地知道要循环多少次——这只是动态更改变量名称的问题。

最佳答案

您将需要循环遍历一个 TextBox 数组。由于 C# 是一种静态类型语言,因此无法按照您想要的方式完成此操作。

您可以使用Controls 属性(表单中所有控件的集合)来完成您的需要。您可以通过索引器和控件名称访问控件:

  this.Controls["label1"].Text = yourText;

关于c# - 在循环中动态更改 C# 变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5290932/

相关文章:

c# - 文件详细信息选项卡中的 "Language neutral"属性

c# - 在无限循环中创建的对象的垃圾收集

c# - 如何使用 LINQ 查询不包含来自另一个列表的子字符串条目的字符串列表

mysql - 通过一个触发器向多个表插入数据

c# - 与嵌入式动态分配数组的托管/非托管类型组合无效

c# - 为什么我们使用非静态属性来锁定非静态字段?

PHP - 如何检查 Curl 是否实际发布/发送请求?

c# - 如何在MySQL中批量插入记录?

vba - 在数据透视 + VBA + 动态解决方案中运行所有可能的页面过滤器组合

c++ - 如何在 C++ 中使用 boost::dynamic_bitset