使用 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 中的条目数量相同。

假设您的 teamNamestextBoxList1 中的记录数量相同。

for(int i=0; i<dbhelper.mylist.Length -1; i++)
{
    textboxlist1[i].Text = dbhelper.mylist[i];
}

如果 textboxlist1dbhelper.mylist 中的元素数量不同,您应该看看哪个数组的长度更小,您应该以此长度循环。