首页 > 解决方案 > 从 C# 中的库返回 List(T)

问题描述

我是 C# 的新手,我必须将 List(T) 从我的库导入到主库,我收到此错误...

错误:System.NullReferenceException:“对象引用未设置为对象的实例。”

主要代码

List<EstatisticasEquipas> listEstatisticaEquipas = new List<EstatisticasEquipas>();
            listEstatisticaEquipas = EstatisticasEquipas.InserirEstatisticasEquipas(listEstatisticaEquipas, listEquipas, listJogos);

类库代码

public static List<EstatisticasEquipas> listEstatisticaEquipas;

        public EstatisticasEquipas()
        {
            listEstatisticaEquipas = new List<EstatisticasEquipas>();

        }

*** METHODS ***

public static List<EstatisticasEquipas> InserirEstatisticasEquipas(List<EstatisticasEquipas> listEstatisticaEquipas, List<Equipa> listEquipas, List<Jogos> listJogos)
        {
            List<EstatisticasEquipas> listEstatisticaEquipa = new List<EstatisticasEquipas>();

            foreach (Equipa equipa in listEquipas)
            {
                foreach (Jogos jogo in listJogos)
                {
                    if (equipa.Nome.Equals(jogo.EquipaCasa))
                    {
                        EstatisticasEquipas estEquipaCasa = listEstatisticaEquipas.Find(x => x.Equipa.Nome.Contains(jogo.EquipaCasa));
                        if (estEquipaCasa == null)
                        {
                            listEstatisticaEquipas.Add(new EstatisticasEquipas(equipa));
                            estEquipaCasa = listEstatisticaEquipas.Find(x => x.Equipa.Nome.Contains(jogo.EquipaCasa));
                            estEquipaCasa.JogoCasa(jogo.GolosEquipaCasa, jogo.GolosEquipaFora);
                            estEquipaCasa.CalPontos(jogo.GolosEquipaCasa, jogo.GolosEquipaFora, 'c');
                        }
                        else
                        {
                            estEquipaCasa = listEstatisticaEquipas.Find(x => x.Equipa.Nome.Contains(jogo.EquipaCasa));
                            estEquipaCasa.JogoCasa(jogo.GolosEquipaCasa, jogo.GolosEquipaFora);
                            estEquipaCasa.CalPontos(jogo.GolosEquipaCasa, jogo.GolosEquipaFora, 'c');
                        }
                    }
                    if (equipa.Nome.Equals(jogo.EquipaFora))
                    {
                        EstatisticasEquipas estEquipaFora = listEstatisticaEquipas.Find(x => x.Equipa.Nome.Contains(jogo.EquipaFora));
                        if (estEquipaFora == null)
                        {
                            listEstatisticaEquipas.Add(new EstatisticasEquipas(equipa));
                            estEquipaFora = listEstatisticaEquipas.Find(x => x.Equipa.Nome.Contains(jogo.EquipaFora));
                            estEquipaFora.JogoFora(jogo.GolosEquipaCasa, jogo.GolosEquipaFora);
                            estEquipaFora.CalPontos(jogo.GolosEquipaCasa, jogo.GolosEquipaFora, 'f');
                        }
                        else
                        {
                            estEquipaFora = listEstatisticaEquipas.Find(x => x.Equipa.Nome.Contains(jogo.EquipaFora));
                            estEquipaFora.JogoFora(jogo.GolosEquipaFora, jogo.GolosEquipaCasa);
                            estEquipaFora.CalPontos(jogo.GolosEquipaCasa, jogo.GolosEquipaFora, 'f');
                        }
                    }
                }
            }

            return listEstatisticaEquipas;

        }

此方法中给出了错误...
错误:System.NullReferenceException:'对象引用未设置为对象的实例。'

public static void TotalPontos()
        {
            listEstatisticaEquipas.Sort((x, y) => y.Pontos.CompareTo(x.Pontos));
            foreach (EstatisticasEquipas estEquipa in listEstatisticaEquipas)
            {
                Console.WriteLine(estEquipa.Equipa.Nome + " - " + estEquipa.Pontos);
            }
        }

标签: c#listn-tier-architecture

解决方案


推荐阅读