Динамическое создание ярлыков ссылок с использованием 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 сущностей, как вы заявили.

Другие вопросы по тегам