using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Text;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
List<ClassDemo> class_list = GetClassList();
//SelectMany对应的LINQ语句
var result1 = from c in class_list
from s in c.students
select new
{
s.student_id,
s.student_name,
c.class_id,
c.class_name,
};
//SelectMany
var result2 = class_list.SelectMany(c => c.students, (c, s) => new
{
s.student_id,
s.student_name,
c.class_id,
c.class_name,
});
}
private static List<ClassDemo> GetClassList()
{
List<ClassDemo> list = new List<ClassDemo>();
list.Add(new ClassDemo
{
class_id = 1,
class_name = "班级1",
students = new List<StudentDemo>()
{
new StudentDemo{ student_id=1,student_name="学生1"},
new StudentDemo{ student_id=2,student_name="学生2"},
},
});
list.Add(new ClassDemo
{
class_id = 2,
class_name = "班级2",
students = new List<StudentDemo>()
{
new StudentDemo{ student_id=3,student_name="学生3"},
new StudentDemo{ student_id=4,student_name="学生4"},
},
});
list.Add(new ClassDemo
{
class_id = 3,
class_name = "班级3",
students = new List<StudentDemo>()
{
new StudentDemo{ student_id=3,student_name="学生5"},
},
});
return list;
}
}
public class StudentDemo
{
public int student_id { get; set; }
public string student_name { get; set; }
}
public class ClassDemo
{
public int class_id { get; set; }
public string class_name { get; set; }
public List<StudentDemo> students { get; set; }
}
}
Linq SelectMany
最新推荐文章于 2023-11-17 19:10:36 发布