我有一个对象列表,每个对象都有一个属性,它是另一个对象的列表。在这个逻辑中,我将第一个对象从基类转换为其中一个继承类。
这是我要对其进行更改的最终列表。
我已经尝试了一些事情,我可以看到逻辑正在执行,但成品始终没有改变。
我尝试过使用linq:
Object1BaseObjectList
.Cast<Object1InheritedClass>()
.ToList()
.ForEach(e =>
e.Object2List
.ToList()
.ForEach(p => p.boolValue = true));
我尝试过更传统的代码:
foreach (Object1InheritedClass object1 in Object1BaseObjectList)
{
foreach (Object2Class object2 in object1.Object2List)
{
object2.boolValue = true;
}
}
就像我说的那样,两者的最终结果都没有变化。任何人都对这里出了什么问题有任何想法吗?
答案 0 :(得分:1)
只是为了解决这个问题而回答。我提供的信息不足以回答这个问题。原来这个问题是由于第二个列表被声明为IEnumerable引起的。将其更改为列表更正了它。我假设这是因为IEnumerable没有创建深层副本。