2013-07-12 3 views
0

Я пытаюсь динамически создавать ярлыки ссылок, используя foreach. Я устанавливаю текст каждой метки ссылок на строку, которая хранится в строчном массиве flatestgames и ссылки которой хранятся в строчном массиве flatestlinks. Но он выбрасывает исключение нулевой ссылки в строке flg [i] .Text = s, но s не имеет значения null. Пожалуйста, помогите мне. Ниже приведен фрагмент кода:Динамическое создание ярлыков ссылок с использованием foreach в C#

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++; 
      } 
     } 

ответ

0

Вы уверены, что длина вашего flatestgames массива меньше, чем 10? Вы должны проверить это в первую и объявить:

LinkLabel[] flg = new LinkLabel[10];

как:

LinkLabel[] flg = new LinkLabel[flatestgames.Length];

Я думаю, вы получите это исключение, потому что в Еогеасп вы пытаетесь получить более 10 организаций, как вы заявили.

2

Попробуйте flg[i] = new LinkLabel(); в цикле Еогеасп

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++; 
      } 
     } 
+0

Вы должны включить в свой ответ, где в цикле Еогеасп он должен сделать это и почему. (Это правильно, бит + 1) – Sayse

+0

теперь он бросает одно и то же исключение на следующей строке –

+0

@PrabhanjanBhat - вам следует обновить свой вопрос с дополнительной информацией (то есть обновленный источник кода) – Sayse