C#-Linq

Linq:并非只针对于集合,它已作用于数据库,XML文件,WebService......但所有的Linq都使用统一的查询表达式:

var excellent=from s in students     --students是一个集合,必须是IEnumerable或它的子类

                      where score>80        --所有能够返回bool值的表达式都可以作为where条件

                      select s                     --以select或group结尾

分组(group by):将具有相同属性的元素归为一组:

var groupMajor=from m in Majors

                          group m by m.Teacher

foreach(var item in groupMajor)

{

     Consol.WriteLine(item.Key.Name);   --分组后才有Key(分组依据(Teacher))

     foreach(var i in item)                         --根据当前老师来取出对应的课程集合

    {

          Consol.WriteLine(i.Name);          --迭代出课程名字

     }

投影(select):从结果集中取出/添加若干属性并重新组合成新的集合:

var groupMajor=from m in Majors

                        group m by m.Teacher  --根据老师分组

                         into tm                          --给结果集命名

                         select new Dictionary<string,int>    --利用投影

                         {

                               gm.Key.Name,           --老师名字

                               gm.count()                 --每个老师上教了几门课程

                         }

C#-Linq

上一篇:windows10 vmware workstation15-16 桥接模式互ping不通,虚机可以连通局域网其他机器解决方法(一般前两个方法都可以解决,我是第三个方法解决的)


下一篇:PHP 7.3.4 安装 Redis 4.0(Windows系统)