[C#]如果和其他与 LINQ

标签: Linq C#
发布时间: 2017/2/27 4:25:18
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个像类结构在下面,

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>();

我想要分配 truefalseclass_A.isChecked 的每个实例的 class_A 基于某些条件。如果 ID 是 100,那么它应该分配 false 。否则,它应该分配 true

这里现在是我的代码︰

classCObjects.ToList().ForEach(a=>a.classBObjects.ForEach(b=>b.classAObjects.ForEach(x=>x.isChecked=true)));

上述分配 true 所有。有谁知道如何得到自己需要的东西?

解决方法 1:

classCObjects.ToList()
             .ForEach(a=>a.classBObjects
                 .ForEach(b=>b.classAObjects
                     .ForEach(x=>x.isChecked=x.id != 100)));

顺便说一句,它是丑陋来电一一列举在集合上,这样你可以使用 ForEach 。相反,只需循环︰

foreach (var a in classCObjects) {
    foreach (var b in a.classBObjects) {
        foreach (var x in b.classAObjects) {
            x.isChecked = x.id != 100;
        }
    }
}
官方微信
官方QQ群
31647020