Динамическое создание ярлыков ссылок с использованием foreach в C#
Я пытаюсь создавать ярлыки ссылок динамически, используя foreach. Я устанавливаю текст каждой ссылки на строку, которая хранится в строковом массиве flatestgames и чьи ссылки хранятся в строковом массиве flatestlinks. Но он выдает исключение нулевой ссылки в строке flg[i].Text = s, хотя s не имеет значение null. Пожалуйста, помогите мне. Ниже приведен фрагмент кода:
if (!(flatestgames == null || flatestgames.Length < 1))
{
i = 0;
LinkLabel[] flg = new LinkLabel[10];
foreach (string s in flatestgames)
{
flg[i].Text = s;
flg[i].Links.Add(0, s.Length, flatestlinks[i]);
Point p = new Point(43, 200 + 23 * i);
flg[i].Location = p;
flg[i].Visible = true;
flg[i].Show();
this.Controls.Add(flg[i]);
i++;
}
}
2 ответа
Пытаться flg[i] = new LinkLabel();
в цикле foreach
if (!(flatestgames == null || flatestgames.Length < 1))
{
i = 0;
LinkLabel[] flg = new LinkLabel[10];
foreach (string s in flatestgames)
{
flg[i] = new LinkLabel();
flg[i].Text = s;
flg[i].Links.Add(0, s.Length, flatestlinks[i]);
Point p = new Point(43, 200 + 23 * i);
flg[i].Location = p;
flg[i].Visible = true;
flg[i].Show();
this.Controls.Add(flg[i]);
i++;
}
}
Вы уверены, что длина вашего flatestgames
массив меньше 10? Вы должны сначала проверить это и заявить:
LinkLabel[] flg = new LinkLabel[10];
как:
LinkLabel[] flg = new LinkLabel[flatestgames.Length];
Я думаю, что вы получите это исключение, потому что в foreach вы пытаетесь получить более 10 сущностей, как вы заявили.