第一种(多个from的查询)(我的理解 相当于sql中 的子查询 、 嵌套查询)
比如一个学生类
注意此时的分数是一个集合
class Student
{
public string Name { get; set; }
public List<int> Scores { get; set; }
}
List<Student> list = new List<Student>{
new Student{ Name="张三", Scores=new List<int>{45,89,73}},
new Student{ Name="李四",Scores=new List<int>{90,89,63}},
new Student{ Name="Mery",Scores=new List<int>{86,89,63}},
new Student{ Name="Mei",Scores=new List<int>{88,89,63}}
};
//选出学生的科目中有不及格的同学的信息
var query = from A in list
from score in A.Scores
where score < 60
select new { name=A.Name, score };
foreach (var item in query)
{
Response.Write("姓名: "+item.name+" 未及格的成绩:"+item.score);
}
//结果 姓名:张三 未及格的成绩:45
第二种(使用多个from相当于SQL中的合并查询但有点不一样)
我再增加一个类
class a
{
public int Age { get; set; }
}
List<a> Mya = new List<a> { new a{Age=99}};
var query = from s in list
from s2 in Mya
select new { name1=s.Name, age=s2.Age };
foreach (var item in query)
{
Response.Write(item.name1+item.age+“<br/>”);
}