【问题标题】:Referencing Same Instance of Object in Multiple Classes在多个类中引用相同的对象实例
【发布时间】:2012-09-18 00:13:48
【问题描述】:

如果在 C# 中给定相同的名称和相同的命名空间,您能否引用(不传递对象)在您的 main 中创建的另一个类的对象?

就像说你有 Main、A 类和 B 类。在 Main 你有“A ap = new A();” 如果您创建“A ap = new A();”在 B 类内部,这两个对象会引用对象 A 的同一个实例吗?因此,如果您更改主对象“ap”中的值,它也会更改 B 类中对象“ap”的相同变量。基本上它们是否指向堆中 A 类的相同实例?

【问题讨论】:

  • 我不确定它们是否会指向同一个对象,因为它们使用相同的名称引用同一个对象。我不这么认为,但我正在做一个班级作业,我们必须绘制一个程序的内存图像,我无法弄清楚某个变量是如何受到影响的,这似乎是唯一的解释。
  • 名字其实不一样。 main 中的 Ap 与 B.ap 或 B.SomeMethod.Ap 不同

标签: c# class object


【解决方案1】:

每次使用new 时,顾名思义,就是在堆上创建一个新对象。 现在,如果您希望这两个类指向同一个对象,您可以将对象 ap(或更具体地说,引用变量 ap 的值)传递给类 B,它们将指向同一个对象。

【讨论】:

  • 我就是这么想的。只是想确认一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
  • 1970-01-01
  • 2012-05-05
  • 2020-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多