这很尴尬.我很久以前就学过C#,现在我正试图理解关于类的这个问题(因为它们当然是引用类型).
这是一个问题:如果我创建了一个被调用的类的两个新实例Person并且命名了一个实例P而另一个Q(关心我为何调用它Q)并设置P.Name为"James"然后设置Q.Name为"Suzie",则会P.Name设置为"Suzie"?或者我没有正确理解这一点?
感谢大家
谢谢大家帮助我.我假设向我解释的是这种情况.但是我读到的教程中的解释并不清楚,我在几个月内没有使用过计算机,以便自己测试一下.
Ps我选择了第一个正确的答案,这对我来说很清楚.但注意到几个.再次感谢大家的帮助.
简短回答是NO,改变Q.Name不会影响P.Name.如在
var p = new Person();
var q = new Person();
p.Name = "James";
q.Name = "Suzie";
Run Code Online (Sandbox Code Playgroud)
但是,如果q指向p实例,那么改变q也会改变p.如:
var p = new Person();
var q = p;
p.Name = "James";
q.Name = "Suzie";
Run Code Online (Sandbox Code Playgroud)
q和q名称现在都是"Suzie".
使用数据初始化程序,您可以将第一个示例编写为:
var p = new Person { Name = "James" };
var q = new Person { Name = "Suzie" };
Run Code Online (Sandbox Code Playgroud)
我认为这更容易阅读.