For*_*zan 5 c# variables class
public class TestClass
{
public int TestNumber;
public string TestName;
public TestClass(string name, int number)
{
TestName = name;
TestNumber = number;
}
}
public class AnotherClass
{
TestClass Var1, Var2;
void Start()
{
Var1 = new TestClass("Me", 1);
Var2 = Var1;
Var2.TestName = "aaa";
}
}
Run Code Online (Sandbox Code Playgroud)
当我调试Var1.TestName
我得到的值时,"aaa"
但最初它是"Me"
. 如何将每个 var 分开但仍然Var2
从 中获取其初始值Var1
?
这是你的问题:
Var1=new TestClass("Me",1);
Var2 = Var1;
Var2.TestName="aaa";
Run Code Online (Sandbox Code Playgroud)
Var2 = Var1;
实际上是参考副本!这意味着Var2
将采用地址Var1
,无论您在其中一个中修改什么,它都将在另一个中可见。为此,我建议使用Var2
. 为此,请在您的testClass
类中创建一个方法。
public testClass copy()
{
testClass tC = new testClass(this.TestNumber, this.TestName);
return tC;
}
Run Code Online (Sandbox Code Playgroud)
现在您可以像这样分配值:Var2 = Var1.copy();