我有一个名为Game的公共类是静态的。
在课堂上,我有两个私人指针变量卡和手[]。
在类中我还有一个静态game()方法,它实例化两个指针,将它们指向它们的类实例对象。
问题:Visual Studios中的属性/指针显示绿色下划线,调试时表示对象为空。我不明白?`
System.NullReferenceException:'对象引用未设置为对象的实例。'
public static class Game {
private static Card card;
private static Hand[] hands;
public static void Game() {
Card card = new Card(true);
Hand[] hands = new Hand[2];
}
}
`
答案 0 :(得分:4)
首先,您的代码无法编译,因为您可以使用静态方法,其名称与封闭类型相同。
但是我们假设您正在尝试使用静态构造函数。如果是,则表示方法级变量为card
和hands
。如果要使用类成员字段,则在分配变量时只是不包括类型。例如:
static Game()
{
card = new Card(true);
hands = new Hand[2];
}
答案 1 :(得分:1)
Card card = ...
创建一个名为card的局部变量。它对班级“卡”没有任何作用。
更改
Card card = new Card(true);
Hand[] hands = new Hand[2];
到
card = new Card(true);
hands = new Hand[2];