比方说,我有对象的列表和我解压,然后从列表这样的修改项目:C#通过引用或值
List<MyObject> TheListOfObjects = new List<MyObject>();
MyObject TheObject = new MyObject();
TheListOfObjects = //some json deserialization result
TheObject = (from o in TheListOfObject
where o.ID == SomeParameter
select o).SingleOrDefault();
TheObject.SomeProperty = SomeValue;
当我写TheObject.SomeProperty = SomeValue;
我是:
- 修改列表中的项目,在这种情况下,我完成或
- 修改一个新的项目,我必须用我刚刚修改的项目替换列表中的原始项目。
您已经编写了代码;尝试一下,看看会发生什么! – 2012-02-16 15:05:39
我不明白你为什么要创建* new *对象,然后通过将新实例分配给变量来抛出它们? – 2012-02-16 15:14:36
@EricLippert:有时候事情是偶然发生,然后停止工作,我只是想澄清一下,我得到的真的是我想要的。你在书中读到byval vs byref,但实际上你确实在学习。 – frenchie 2012-02-16 15:33:59