gpt4 book ai didi

c# - 在构造函数中创建的对象变为空

转载 作者:行者123 更新时间:2023-11-30 19:05:20 26 4
gpt4 key购买 nike

我是一名新手程序员,我需要一些帮助来了解哪里出了问题。我创建了一个对象,构造函数在其中创建了我的玩家。但是,一旦我完成我的构造函数,在另一个内部创建的所有对象都是空的。对象不可以创建对象吗?如果不是,我该如何设计我的程序,以便我可以从任何类访问我的播放器对象。?

class Program
{
static void Main(string[] args)
{
Tablero tablero = new Tablero();
tablero.test(); //now Tablero doesnt have player
Console.ReadLine();
}

public class Tablero
{
Buscador busc1;
public Tablero()
{
Buscador busc1 = new Buscador(50);
//test(); same problem
}
public void test()
{
Console.Write(busc1.getPosX());
}
}

public class Buscador
{
int posx;
public Buscador(int posx)
{
this.posx = posx;
}
public int getPosX()
{
return posx;
}
}
}

最佳答案

您已经在类的主体中定义了 Buscador busc1;,所以不是:

Buscador busc1 = new Buscador(50);

随便写

busc1 = new Buscador(50);

通过执行第一个,您是说您想要创建一个 Buscador 实例,该实例位于实例化它的方法的本地。因此,一旦该方法结束,它就会被删除,并且无法从任何其他方法访问。

Buscador busc1;Tablero() 构造函数之外定义,整个类中的任何方法都可以访问。

请参阅这篇关于范围界定的 MSDN 文章:

http://msdn.microsoft.com/en-us/library/ms973875.aspx

关于c# - 在构造函数中创建的对象变为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22848776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com