从List检索元素时,NullReferenceException,但元素不为null

时间:2019-06-18 15:33:50

标签: c# visual-studio list nullreferenceexception

我有一个名为ListaGrupo的列表,该列表在线程AtenderServidor中初始化。然后,线程调用函数CrearTablero,该函数检索列表的内容。当我调用列表的第一个元素时,我没有问题。但是,当调用第二个元素时,我得到了NullReferenceException(调试时,我可以看到第二个元素不为空)。

List<string> ListaGrupo;    

private void AtenderServidor()
{
    ListaGrupo = new List<string>();
    string[] NombresGrupo = trozos[3].Split(',');//trozos[3] contains the strings that have to go into the list
    int j = 0;
    while (j < 4)//There are only 4 strings
    {
        if(NombresGrupo[j]!="")
            ListaGrupo.Add(NombresGrupo[j]);
        j++;
    }
    this.EmpezarPartida();
}
private void EmpezarPartida()
{
    JugadorA_Lbl.Text = ListaGrupo[0]; //This works fine
    JugadorB_Lbl.Text = ListaGrupo[1]; //NullReferenceException
}

请注意,上面的代码已简化,我没有包括用于修改标签的委托。我正在调试版本上运行。

在此图像中,您可以更详细地看到异常。

Detail of the exception

到目前为止,我已经尝试过:

  • 使用ElementAt()
  • 检索元素
  • 将列表作为参数传递给EmpezarPartida
  • 用一串乱码代替trozos[3]
  • 将故障行更改为MessageBox.Show((ListaGrupo == null).ToString());

关于可能导致异常的原因以及如何解决的任何想法? 预先感谢。

0 个答案:

没有答案