C# 在c中使用foreach动态创建链接标签#
我正在尝试使用foreach动态创建链接标签。我将每个链接标签的文本设置为一个字符串,该字符串存储在flatestgames字符串数组中,其链接存储在flatestlinks字符串数组中。 但是它在flg[i].Text=s行抛出了一个null引用异常,尽管s没有设置为null。 请帮帮我。 下面是代码片段:C# 在c中使用foreach动态创建链接标签#,c#,dynamic,nullreferenceexception,linklabel,C#,Dynamic,Nullreferenceexception,Linklabel,我正在尝试使用foreach动态创建链接标签。我将每个链接标签的文本设置为一个字符串,该字符串存储在flatestgames字符串数组中,其链接存储在flatestlinks字符串数组中。 但是它在flg[i].Text=s行抛出了一个null引用异常,尽管s没有设置为null。 请帮帮我。 下面是代码片段: if (!(flatestgames == null || flatestgames.Length < 1)) { i = 0;
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++;
}
}
if(!(flatestgames==null | | flatestgames.Length<1))
{
i=0;
LinkLabel[]flg=新的LinkLabel[10];
foreach(flatestgames中的字符串s)
{
flg[i].Text=s;
flg[i].Links.Add(0,s.长度,最扁平链接[i]);
点p=新点(43200+23*i);
flg[i].位置=p;
flg[i].可见=真;
flg[i].Show();
此.Controls.Add(flg[i]);
i++;
}
}
您确定您的最扁平游戏阵列的长度小于10吗?您必须首先检查并声明您的:
LinkLabel[]flg=新的LinkLabel[10]代码>
作为:
LinkLabel[]flg=新的LinkLabel[flatestgames.Length]代码>
我想您会得到这个例外,因为在foreach中,您试图获得您声明的10个以上的实体。tryflg[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++;
}
}
if(!(flatestgames==null | | flatestgames.Length<1))
{
i=0;
LinkLabel[]flg=新的LinkLabel[10];
foreach(flatestgames中的字符串s)
{
flg[i]=新链接标签();
flg[i].Text=s;
flg[i].Links.Add(0,s.长度,最扁平链接[i]);
点p=新点(43200+23*i);
flg[i].位置=p;
flg[i].可见=真;
flg[i].Show();
此.Controls.Add(flg[i]);
i++;
}
}
您应该在答案中包括他需要在foreach循环中的何处执行此操作以及原因。(这是正确的btw+1)@Prabhanbhat-你应该用更多信息更新你的问题(即更新的代码源)`LinkLabel[]flg=new LinkLabel[10];`将创建一个数组,其中all has null,foreach(flatestgames中的字符串s){flg[i]=new LinkLabel();flg[i].Text=s;