每个人。我有以下代码:
myList.Add(new Model(1, "David"));
Model m = myList[0] as Model;
m.name = "Leo";
MessageBox.Show(myList[0].name);
MessageBox向我显示'Leo',而我看到'David'。如何在不删除此行的情况下将“ David”视为结果:
m.name = "Leo";
谢谢。
[请帮助我,谢谢。
类作为引用类型是.NET框架的基础,因此您不能只是“绕过”它。如果您希望m
成为列表中的different实例,那么您需要clone实例,而不是直接引用它。有很多方法可以做到这一点,而这并不是您想要的,所以我将留给您研究如何做到这一点。或者,如果您想以某种方式保留原始属性,请在更改属性之前将其放入变量中:
Model m = myList[0] as Model;
string oldName = m.Name
m.name = "Leo";
MessageBox.Show(oldName);
我还怀疑这不是您想要的。
要点是没有办法简单地将引用类型作为值类型进行“处理”。