gpt4 book ai didi

c# - LINQ - 帮我举个例子,我觉得 LINQ 应该可以解决!

转载 作者:太空狗 更新时间:2023-10-30 00:47:25 26 4
gpt4 key购买 nike

我正在尝试进入 LINQ to objects,因为我可以看到它的强大功能。幸运的是,我有一个我认为 LINQ 应该能够解决的问题。

这里是问题(细节是例子);

public class SchoolClass
{
public int ID;
public string Name;
public string Teacher;
public string RoomName;

public string Student_Name;
public int Student_Age;
}

从示例中可以看出,ClassName、Teacher 和 Room 与 Students 之间存在一对多关系,即一个类(class)中可能有很多学生。

如果我们有一个列表,是否可以使用 LINQ 创建一个列表,但只有一个实例 ID、姓名、教师、房间名称和一个包含学生姓名和年龄的数组列表?

制作这个:

public class Students
{
public string Student_Name;
public int Student_Age;
}

public class SchoolClass
{
public int ID;
public string Name;
public string Teacher;
public string RoomName;

public ArrayList Students;
}

本质上,使用 LINQ 将 List 清理为更符合逻辑的结构?

给这个例子一些背景。 DataGrid 使用第二个结构来生成主子关系。我们将 SchoolClass 和 StudentInformation 存储在类中,如上所示。最好使用 LINQ 将我们的初始列表转换为可由 DataGrid 使用的结构。

最佳答案

我更改了 ArrayListList<Students> , 和:

    List<SourceData> source = new List<SourceData>();
//...your data here ;-p
var classes = (from row in source
group row by new {
row.ID, row.Name,
row.Teacher, row.RoomName }
into grp
select new SchoolClass
{
ID = grp.Key.ID,
Name = grp.Key.Name,
Teacher = grp.Key.Teacher,
RoomName = grp.Key.RoomName,
Students = new List<Students>(
from row in grp
select new Students
{
Student_Age = row.Student_Age,
Student_Name = row.Student_Name
})
}).ToList();

关于c# - LINQ - 帮我举个例子,我觉得 LINQ 应该可以解决!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/685507/

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