gpt4 book ai didi

c# - 如何使 lambda 在列表列表中的位置?

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

我有两个类:

public class firstClass
{
public int Id { get; set; }
public List<secondClass> Elements { get; set; }
}

public class secondClass
{
public int Id { get; set; }
public bool Is{ get; set; }
}

和使用他们的:

List<firstClass> list = allFirstClassFromDB.Include("Elements");

然后我的列表包含例如:

list[0] - {Id : 1, Elements : [0] { Id: 1, Is: true }, [1] { Id: 2, Is: true }, [2] { Id: 3, Is: false }
list[1] - {Id : 2, Elements : [0] { Id:4, Is: false }, [1] { Id: 5, Is: true }, [2] { Id: 6, Is: false }
list[2] - {Id : 3, Elements : [0] { Id:7, Is: false } }

所以我需要的结果只是包含 Elements 的位置,其中 Is 属性设置为 true,如下所示:

list[0] - {Id : 1, Elements : [0] { Id: 1, Is: true }, [1] { Id: 2, Is: true } }
list[1] - {Id : 2, Elements : [0] { Id: 5, Is: true } }

在 linq 中可以吗?任何帮助将不胜感激。

最佳答案

以下是使用 LINQ 的方法:

var filteredList = list
.Select(
x => new firstClass {
Id = x.Id,
Elements = x.Elements.Where(y => y.Is).ToList()
}
)
.Where(x => x.Elements.Count > 0);

关于c# - 如何使 lambda 在列表列表中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12596321/

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