gpt4 book ai didi

c# - 基于子列表属性的过滤器列表集合包含名称

转载 作者:行者123 更新时间:2023-12-05 08:42:32 25 4
gpt4 key购买 nike

当子列表的元素包含名称时,我希望使用 LinQ 查询来过滤列表集合。这里父列表的子列表应该满足包含条件,那些子列表只包含在父列表中。

示例:

public class Student
{
int Id;
List<subject> SubjectList;
string Name;
}

public class Subject
{
int Id;
string Name;
}

List<Student> studentList = new List<Student>();

这里我想要一个 LINQ 查询只过滤 SubjectList 的 StudentList,主题名称应该包含“maths”,结果必须是带有 subjectlist 的 studentlist,它只包含 maths。

最佳答案

问题出在哪里?

var mathStudents = StudentList.Where(x => x.SubjectList.Any(y => y.Name == "maths"));

返回 StudentList 中的所有元素,这些元素在其 SubjectList 中至少有一个 Subject,其 Name数学

如果你只想要每个学生的数学类(class),你可以使用这个:

var mathCourses = mathStudents.Select(x => new 
{
x.Student,
Math = x.SubjectList.Where(y => y.Name == "maths")
});

关于c# - 基于子列表属性的过滤器列表集合包含名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40479734/

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