我有一个班级俱乐部有一个列表_list作为参数,而'玩家'是另一个班级...我有这种方法来添加俱乐部成员,thas是这样实现的:
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);
它抛出一个异常,表示对象引用未设置为对象的实例。
答案 0 :(得分: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>();
答案 1 :(得分:1)
听起来你的_list实例变量为null。尝试初始化它:
public class Club {
private List<Player> _players = new List<Player>();
}