我正在尝试使用foreach动态创建链接标签。我将每个linklabel的文本设置为一个字符串,该字符串存储在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++;
}
}
答案 0 :(得分:2)
在foreach循环中尝试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++;
}
}
答案 1 :(得分:0)
您确定flatestgames
数组的长度小于10吗?你必须先检查一下并声明你的:
LinkLabel[] flg = new LinkLabel[10];
为:
LinkLabel[] flg = new LinkLabel[flatestgames.Length];
我认为你得到了这个例外,因为在foreach中你试图获得超过10个实体。