Unknown NullPointerException
本文关键字:NullPointerException Unknown | 更新日期: 2023-09-27 17:55:07
Hy!
我想用c做一个纸牌游戏#调试器总是抛出NullPointerException。但是var卡不是null(它在调试过程中显示了一个值(问题一定出在cards.add((.中
我的代码:
namespace Uno_Logic
{
class CardStack
{
private List<Card> cards;
public void Cardstack()
{
cards = new List<Card>();
}
public void fillCardstack ()
{
for (Card_Value value = Card_Value.One; value <= Card_Value.DrawTwo; value++)
{
for (Card_Colour colour = Card_Colour.Yellow; colour < Card_Colour.Black; colour++)
{
Card card = new Card(colour, value);
Card card2 = new Card(colour, value);
cards.Add(card); //**here throws the debugger the Exception**
cards.Add(card2);
}
}
}
}
}
请帮忙!
替换:
public void CardStack()
{
cards = new List<Card>();
}
带有
public CardStack()
{
cards = new List<Card>();
}
c#中的构造函数没有返回类型
我认为你的方法Cardstack
真的应该是一个构造函数:
public CardStack()
{
cards = new List<Card>();
}
则cards
变量为空。您还没有初始化它,因为您可能还没有调用Cardstack()
方法。顺便说一句,cards = new List<Card>();
最好在构造函数中。
这不是抛出异常时为null的card
变量:这是为null的cards
变量。您确定在呼叫fillCardstack()
之前先呼叫Cardstack()
吗?
我认为您想要为CardStack
类声明一个构造函数,并在那里初始化cards
如果是这样,只需在CardStack方法声明之前删除"void",它就会变成一个构造函数:
public Cardstack() {
cards = new List<Card>();
}