public void MethodSample1(Itest variable)
{
variable.TestString = "some sample data";
Itest var1 = variable;
Console.WriteLine(variable.TestString);
MethodSample2(variable);
Console.WriteLine(variable.TestString);
Console.WriteLine(var1.TestString);
}
public void MethodSample2(Itest variable)
{
variable.TestString = "testdata";
}
public interface Itest
{
string TestString { get; set; }
}
期望控制台输出行都打印“一些示例数据”,但似乎TestString
被新值覆盖?是不是像“默认情况下在 C# 中所有值都是按值传递的?”。
简而言之,如何保存“TestString”中的值MethodSample1
?
(我遇到了这个问题,因为我所有的项目都基于一个界面)
即使保留了价值,它确实反映了!奇怪的!