我有下面的代码更改类属性值
public class Myclass
{
public int someProp{ get; set; };
}
public class Program
{
public static void Main(string[] args)
{
Myclass m = new Myclass();
Console.WriteLine(m.someProp);
ChangeValue(m);
Console.WriteLine(m.someProp);
SetToNull(m);
Console.WriteLine(m.someProp);
Console.ReadKey();
}
static void ChangeValue(Myclass m)
{
m.someProp = 10;
}
static void SetToNull(Myclass m)
{
m = null;
}
}
结果是0 10 10
我不知道为什么在我设置类为null它显示10
是在m
这是通该方法是该对象的副本或它只是参考。
除了[贾斯汀的回答](http:// stackoverflow。com/a/41430259/5528593),如果您为_variables_和_parameters_使用_different_名称,则您的错误应该变得更加明显。 –