我有一个类结构,如下所示,
class class_A
{
public bool isChecked;
public int id;
}
class class_B
{
List<class_A> classAObjects=new List<class_A>();
}
class class_C
{
List<class_B> classBObjects=new List<class_B>();
}
并有一个从class_C创建的对象列表,
List<class_C> classCObjects=new List<class_C>();
我想根据某些条件为true
的每个实例分配false
或class_A.isChecked
到class_A
。如果ID为100,则应分配false
。否则,它应该分配true
。
这是我现在的代码:
classCObjects.ToList().ForEach(a=>a.classBObjects.ForEach(b=>b.classAObjects.ForEach(x=>x.isChecked=true)));
以上将true
分配给所有人。有谁知道如何得到我需要的东西?
答案 0 :(得分:5)
classCObjects.ToList()
.ForEach(a=>a.classBObjects
.ForEach(b=>b.classAObjects
.ForEach(x=>x.isChecked=x.id != 100)));
顺便说一下,在集合上调用ToList是很难看的,所以你可以使用ForEach
。相反,只需迭代:
foreach (var a in classCObjects) {
foreach (var b in a.classBObjects) {
foreach (var x in b.classAObjects) {
x.isChecked = x.id != 100;
}
}
}
答案 1 :(得分:1)
你在找这样的东西吗?
classCObjects.ToList().ForEach(
a=>a.classBObjects.ForEach(
b=>b.classAObjects.ForEach(
x=>x.isChecked= x.id != 100)));