public Player(string name, List<Card> cards)
{
this.name = name;
try
{
this.stack.insertCards(cards);//Here is the NullReferenceExeption
}
catch (Exception e)
{
throw e;
}
}
public void insertCards(List<Card> cards)
{
stack.AddRange(cards);
}
public List<Card> GetSevenCards() //the Player gets the Cards from this function
{
List<Card> list = new List<Card>();
int ran;
Random r = new Random();
for (int i = 0; i < 7; i++)
{
ran = r.Next(0, stack.Count()-1);
list.Add(stack[ran]);
stack.RemoveAt(ran);
}
return list;
}
堆栈获得7张卡的卡片列表
答案 0 :(得分:1)
您可能需要确保在类中实例化stack
:
private YourStackImplementation stack = new YourStackImplementation();
答案 1 :(得分:0)
应该是:
this.stack.insertCards(GetSevenCards());
并创建堆栈的新实例。
因为卡片为空。首先用功能填充它们。
不能说更多的东西,因为你没有提供更多关于定义的信息。应该有更多的代码。
答案 2 :(得分:0)
我没有看到堆栈被初始化。您必须先初始化堆栈,然后才能在其上调用任何非静态方法。
var stack = new Stack();