请您解释一下C#类的以下行为。我期望classResult的值是"Class Lijo",但实际值是“Changed”。
我们在这里复制了引用。尽管复制品指向同一个地址,但接收参数的方法不能改变原始数据。
为什么值还是改变了呢?
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
String nameString = "string Lijo";
Person p = new Person();
p.Name = "Class Lijo";
Utilityclass.TestMethod(nameString, p);
string classResult = p.Name;
Response.Write(nameString + "....." + classResult);
}
}
public class Utilityclass
{
public static void TestMethod(String nameString, Person k)
{
nameString = "Changed";
k.Name = "Changed";
}
}
public class Person
{
public string Name
{
get; set;
}
}
更新:当我传递一个字符串时,它实际上并没有被改变。