使用 foreach 将 list/array 中的字符串分配给多个 TextBox
Assigning strings from a list/array to multiples TextBox using foreach
这是我的第一个问题,我会尽量弄清楚。我花了 3 小时++ 试图找到解决方案并进行了大量 google 搜索。
首先,这是我的代码的相关部分:
DBHelper
public List<string> mylist;
Form1
while (dbhelper.myReader.Read())
dbhelper.mylist.Add(dbhelper.myReader.GetString("Nom_Equipe"));
Form2
TextBox[] textboxlist1 = {dueltbTeam1, dueltbTeam2, dueltbTeam3, dueltbTeam4, dueltbTeam5, dueltbTeam6, dueltbTeam7, dueltbTeam8};
foreach (TextBox textbox in textboxlist1)
{
Action<string> entry;
entry = f => Assign(textbox, f);
dbhelper.mylist.ForEach(entry);
}
private static void Assign(TextBox s, string f)
{
s.Text = f;
}
我确保 "dbhelper.mylist" 仍然由 form2 中的内容填充,它仍然包含我的 mysql 数据库的 8 个团队,所以这不是问题。我还能够让每个 TextBox 显示一个团队名称,在每个 TextBox 中都相同。但我需要每个团队展示一次,每个文本框展示一个团队。我用了
foreach (string teamname in dbhelper.mylist)
{
foreach (TextBox textbox in textboxlist1)
{
textbox.Text = teamname;
}
}
在每个文本框中成功显示了一个团队,同一个团队,但我需要看到不同的团队。
请原谅我的英语,我是法国人。如果我需要精确说明任何事情,我会尽快完成。谢谢!
编辑:我在 textboxlist1 中的条目数量与 dbhelper.mylist 中的条目数量相同。
假设您的 teamNames
与 textBoxList1
中的记录数量相同。
for(int i=0; i<dbhelper.mylist.Length -1; i++)
{
textboxlist1[i].Text = dbhelper.mylist[i];
}
如果 textboxlist1
和 dbhelper.mylist
中的元素数量不同,您应该看看哪个数组的长度更小,您应该以此长度循环。
这是我的第一个问题,我会尽量弄清楚。我花了 3 小时++ 试图找到解决方案并进行了大量 google 搜索。
首先,这是我的代码的相关部分:
DBHelper
public List<string> mylist;
Form1
while (dbhelper.myReader.Read())
dbhelper.mylist.Add(dbhelper.myReader.GetString("Nom_Equipe"));
Form2
TextBox[] textboxlist1 = {dueltbTeam1, dueltbTeam2, dueltbTeam3, dueltbTeam4, dueltbTeam5, dueltbTeam6, dueltbTeam7, dueltbTeam8};
foreach (TextBox textbox in textboxlist1)
{
Action<string> entry;
entry = f => Assign(textbox, f);
dbhelper.mylist.ForEach(entry);
}
private static void Assign(TextBox s, string f)
{
s.Text = f;
}
我确保 "dbhelper.mylist" 仍然由 form2 中的内容填充,它仍然包含我的 mysql 数据库的 8 个团队,所以这不是问题。我还能够让每个 TextBox 显示一个团队名称,在每个 TextBox 中都相同。但我需要每个团队展示一次,每个文本框展示一个团队。我用了
foreach (string teamname in dbhelper.mylist)
{
foreach (TextBox textbox in textboxlist1)
{
textbox.Text = teamname;
}
}
在每个文本框中成功显示了一个团队,同一个团队,但我需要看到不同的团队。
请原谅我的英语,我是法国人。如果我需要精确说明任何事情,我会尽快完成。谢谢!
编辑:我在 textboxlist1 中的条目数量与 dbhelper.mylist 中的条目数量相同。
假设您的 teamNames
与 textBoxList1
中的记录数量相同。
for(int i=0; i<dbhelper.mylist.Length -1; i++)
{
textboxlist1[i].Text = dbhelper.mylist[i];
}
如果 textboxlist1
和 dbhelper.mylist
中的元素数量不同,您应该看看哪个数组的长度更小,您应该以此长度循环。