【发布时间】:2021-02-24 03:20:50
【问题描述】:
我正在做我的一个项目,但当时我没有按预期工作,现在我正在重新评估我的整个人。取下面的类和方法:
public class Test{
public string Name { get; set; }
public int Value { get; set; }
}
public Test ReturnExample(Test test)
{
Test example = test;
example.Name = "abc";
return example;
}
现在,如果我有 FirstValue 和 SecondValue:
Test FirstValue = new Test {Name = "First", Value = 8 };
Test SecondValue = new Test {Name = "Second", Value = 12 };
到目前为止,一切似乎都非常通用和简单,但让我感到惊讶的是,当你这样做时:
SecondValue = ReturnExample(FirstValue);
我期望的值是:
FirstValue:
Name = "First"
Value = 8
SecondValue:
Name = "abc"
Value = 8
然而,我得到的是:
FirstValue:
Name = "abc"
Value = 8
SecondValue:
Name = "abc"
Value = 8
那么,这里发生了什么,我可以改变什么来得到我想要的?
【问题讨论】:
-
开始阅读参考值。
-
旁注:通常将所有涉及的代码内联到单个方法中将是您应该能够自己做的解释......但是由于您对如何传递参数有疑问我不认为你可以做到这一点......希望@SalahAkbari 评论+答案和规范副本可以澄清事情。
-
你在说什么?你在我接受答案后发表了评论,所以我不清楚你想说的是