zoukankan      html  css  js  c++  java
  • 新语法11. – LINQ

    LINQ分组:
    IEnumerable<IGrouping<int, Dog>> listGroup = from dog in listDogs where dog.Age > 5 group dog by dog.Age;
    遍历分组:
    foreach (IGrouping<int, Dog> group in listGroup)
    {
         Console.WriteLine(group.Key+"岁组:");
         foreach (Dog d in group)
         {
               Console.WriteLine(d.Name + ",age=" + d.Age);
          }
    }

    最后:LINQ 查询语句 编译后会转成 标准查询运算符

            #region 9.0 Linq 语句
            /// <summary>
            /// 9.0 Linq 语句 : 编译后,会生成 对应 的 标准查询 运算符! 所以说,Linq只是类似与sql的一种更加友好的 语法糖 语法而已。
            /// </summary>
            static void TestLinq()
            {
                List<C01Dog> list = GetDogList();
                List<C02DogToy> listToys = GetDogToyList();
                //9.1 从 老集合中 查询 每一个 元素(d) 存入 新集合
                var dogs1 = from d in list select d;
                //9.2 where条件 从 老集合中 查询 所有 Gender = falser 的 元素,存入 新集合
                //var dogs2 = select d from d in list where d.Gender == false ;
                var dogs2 = from d in list where d.Gender == false select d;
                //9.3 排序条件
                var dogs3 = from a in list orderby a.Age orderby a.ID orderby a.Name descending select a;
                //9.4 连接查询 注意:连接条件 使用  equals 关键字!!!
                var joinedList = from a in list join t in listToys on a.ID equals t.DogID select new { Dog = a, Toy = t };
                foreach (var item in joinedList)
                {
                    Console.WriteLine(item.ToString());
                }
    
                Console.WriteLine("分组啦~~~-----------------------");
                //9.5 分组查询
                var groupList = from d in list group d by d.Gender;
    
                foreach (var group in groupList)
                {
                    Console.WriteLine(group.Key.ToString());
                    foreach (var item in group)
                    {
                        Console.WriteLine(item.ToString());
                    }
                }
    
    
                //foreach (var d in list)
                
            } 
            #endregion
  • 相关阅读:
    selenium基础(鼠标和键盘事件)
    Java:面向对象三大特征
    Java:面向对象(上)
    Java:数组
    Java:方法
    Java基础:程序结构控制
    Java基础:用户交互Scanner
    Java基础语法(下)
    Jenkins(Extended E-mail Notification)邮箱配置正确但是并没有发送邮件
    接口自动化测试与Jenkins集成(Freestyle project任务版)
  • 原文地址:https://www.cnblogs.com/rogge7/p/6597641.html
Copyright © 2011-2022 走看看