gpt4 book ai didi

c# - 在多级树结构中搜索

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:18 24 4
gpt4 key购买 nike

我有一个像下面这样的类结构

public class Level1
{
public ICollection<Level2> Level2 { get; set; }
}
public class Level2
{
public ICollection<Level3> Level3 { get; set; }
}
public class Level3
{
public ICollection<Level4> Level4 { get; set; }
}
public class Level4
{
public int Id { get; set; }
public bool isActive { get; set; }
}

我有一个 IEnumerable<Level1>对象并希望在级别 4 中搜索特定的 id。如果存在 id,则设置 isActive旗帜。

知道怎么做。

最佳答案

对要跳过的每个级别使用SelectMany。您可以“链接”调用以避免多次声明:

IList<Level1> list1 = ... //
var level4 = list1
.SelectMany(item1 => item1.Level2)
.SelectMany(item2 => item2.Level3)
.SelectMany(item3 => item3.Level4);

现在您可以根据需要迭代它们:

var itemsWithId = level4
.Where(item4 => item4.Id == myId);

如果 Id 在级别 4 是唯一的,请使用 SingleOrDefault 而不是 Where

关于c# - 在多级树结构中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44517326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com