gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 14:53:14 27 4
gpt4 key购买 nike

我正在尝试在 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com