c# +编程逻辑-我可以从构造对象访问构造对象吗?

本文关键字:对象 访问 我可以 编程 | 更新日期: 2023-09-27 18:06:24

请原谅我开始不太精确,但我是一个c#新手,只学习编程。这是一个我目前无法测试的问题,但我必须决定如何解决它。

我有一个SampleClass:
public class SampleClass {
    string Name;
    SecondClass SecondClass;
    string Attribute;
    public SampleClass (string Name, SecondClass SecondClass)
    {
    this.Name = Name;
    this.SecondClass = SecondClass;
    Attribute = SecondClass.HakunaMatata;
    }
}

和一个SecondClass

public class SecondClass{
    public string HakunaMatata;
    public SecondClass (string HakunaMatata){
    this.HakunaMatata = HakunaMatata;
}

到目前为止一切顺利。现在我需要知道我是否可以添加到SampleClass一个函数来改变HakunaMatata从第二类?如:

if (Name == "Simba"){
SecondClass.HakunaMatata = "Dont'w worry, be happy"}

通过将这段代码插入到SampleClass中,我将改变用于构造SampleClass的SecondClasses对象的值,还是程序为构造目的复制它?它会改变SampleClass的下一个实例上的SampleClass属性吗?

c# +编程逻辑-我可以从构造对象访问构造对象吗?

是的,因为string是引用类型,而您的string Attribute实际上指的是SecondClass.HakunaMatata。顺便说一句,你的这一行在SampleClass

Attribute = SampleClass.HakunaMatata;

应该是

Attribute = SecondClass.HakunaMatata;