c#用类作属性时是否是实例化 类 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TestA A = new TestA(); A.Name = "zhangsan"; A.Age = 18; TestB B = new TestB(); B.ClassA = A; 你上面的代码里,已经实例化了一个TestA,并且赋值给了TestB的属性,故TestB里是否实例化内部变量已经没意义了。如果你去掉 B.ClassA = A; 这句,就必须在B中实例化内部变量TestA.就这么回事。 你知道问题出 哪里了么?TestA A = new TestA();TestB B = new TestB(); B.ClassA = A;你上面的代码 不管你private TestA _ClassA = new TestA();这句实例化还是不实例化。 你TestA 已经实例化。然后你B.ClassA=A此时会执行set { _ClassA = value; } 然后B的_ClassA就被赋值了,也就是被实例化了。 所以不管你在B里面_ClassA实不实例化,最后都要被实例化。看清代码执行逻辑! 类里的声明就可以Main里实例化不用太纠结这样的问题没意义合理地用就对了 TestA A = new TestA();这句代码不就是把TestA实例化了么你要不实例化,要这样用:TestA.Name = "zhangsan";如果类不是静态的,这样用应该是用不了的 B.ClassA = A; 这么写当然可以但如果是B.ClassA .Name = "zhangsan"; B.ClassA .Age = 18;那就必须实例化TestA C#控制台程序发布时怎么处理配置文件app.config 在SQL中通过代码把一个正在用的数据库。改用另一个数据库。 pictureBox lable 如何设置框架形状 asp.net网站session丢失问题(解决后给100分) 急急急~~~~winform中窗体调用不出来! 接收用户响应问提 程序中 sql server 2000 的中文乱码 关于 DataGridView的显示 问大家一个关于体检的问题 拉伸算法 C#的MDI容器问题 请求高手出现 c#打开窗口设置问题求助
A.Name = "zhangsan";
A.Age = 18;
TestB B = new TestB();
B.ClassA = A; 你上面的代码里,已经实例化了一个TestA,并且赋值给了TestB的属性,故TestB里是否实例化内部变量已经没意义了。
如果你去掉 B.ClassA = A; 这句,就必须在B中实例化内部变量TestA.
就这么回事。
你知道问题出 哪里了么?
TestA A = new TestA();
TestB B = new TestB();
B.ClassA = A;你上面的代码 不管你private TestA _ClassA = new TestA();这句实例化还是不实例化。 你TestA 已经实例化。然后你B.ClassA=A
此时会执行set { _ClassA = value; } 然后B的_ClassA就被赋值了,也就是被实例化了。 所以不管你在B里面_ClassA实不实例化,最后都要被实例化。看清代码执行逻辑!
Main里实例化
不用太纠结这样的问题没意义
合理地用就对了
这句代码不就是把TestA实例化了么
你要不实例化,要这样用:TestA.Name = "zhangsan";
如果类不是静态的,这样用应该是用不了的
B.ClassA .Name = "zhangsan"; B.ClassA .Age = 18;
那就必须实例化TestA