1

我有一个 Club 类,它有一个列表 _list 作为参数,而“Player”是另一个类......我有这个添加俱乐部成员的方法,它是这样实现的:

public void AddPlayer(Player p)
{
    if(_list.Contains( p)) 
        throw new Exception("The Player " + p.Name + " " + p.Surname + " is already a         member of this club!");
    _list.Add(p);
}

现在,当我在主程序中执行此操作时:

Player p = new Player("Christiano", "Ronaldo", 1993);
Club club = new Club("ManUtd", coach);
club.AddPlayer(p);

它抛出一个异常,指出对象引用未设置为对象的实例。

4

2 回答 2

2

(从 OP 注释中获取的构造函数代码。)

在您的构造函数中,您似乎只是在该方法中初始化了一个局部变量,而不是字段_list。

public Club(string clubName, Coach mycoach) 
{ 
     List<Player> _list = new List<Player>(); 
     ClubName = clubName; 
     Mycoach = mycoach; 
}

尝试改变

 List<Player> _list = new List<Player>(); 

至:

 _list = new List<Player>(); 
于 2013-11-01T23:14:01.357 回答
1

听起来您的 _list 实例变量为空。尝试初始化它:

public class Club {
    private List<Player> _players = new List<Player>();
}
于 2013-11-01T23:05:51.223 回答