看代码实现:

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;

 namespace Test
 {
     class Program
     {
         static void Main(string[] args)
         {
             List<Test> listData = new List<Test>{
                 new Test { Name = "jiangjing", Age = 18, Sex = "boy"},
                 new Test { Name = "wenting", Age = 17, Sex = "girl"},
                 new Test { Name = "caihong", Age = 80, Sex = "boy"},
                 new Test { Name = "caiyun", Age = 90, Sex = "boy"}
             };

             //string[] names = {"jiangjing", "wenting", "caihong", "test"};
             //1.使用查询方式
             //var res = from n in names
             //          where n.EndsWith("g")
             //          orderby n.Substring(n.Length-1)
             //          select n;

             //2.使用方法方式
             //var res = names.OrderBy(n=>n).Where(n=>n.EndsWith("g"));
             //foreach (var name in res)
             //    Console.WriteLine(name);

             //3.聚合函数的相关使用,分析大型数据结果
             //var resultData = listData.Where(t=>t.Age<20).Select(t=>t.Age);

             //4.投影:在查询中新建对象
             //var resultData = listData.Where(t => t.Sex == "boy").Select(t => new { Name = t.Name, Age = t.Age });
             //foreach (var item in resultData)
             //    Console.WriteLine(item);

             //5.单值选择:Distinct()函数
             //var resultData = listData.Where(t => t.Sex == "boy").Select(t => new { Name = t.Name, Age = t.Age }).Distinct();
             //foreach (var item in resultData)
             //    Console.WriteLine(item);

             //6.Any和All方法
             //bool falg1 = resultData.Any(t=>t.Name=="jiangjing");
             //bool falg2 = resultData.All(t => t.Name == "jiangjing");
             //Console.Write("{0} {1}", falg1, falg2);

             //7.多级排序,使用方法也行orderby,thenby...,不过写起来还没这个清晰
             //var resultData = from t in listData
             //                 orderby t.Age, t.Name
             //                 select new { Name = t.Name, Age = t.Age};
             //foreach (var item in resultData)
             //    Console.WriteLine(item);

             //8.组合查询
             //var resultData = from t in listData
             //                 group t by t.Sex into tg
             //                 select new { SumAge = tg.Sum(t => t.Age), Sex = tg.Key };

             //foreach (var item in resultData)
             //    Console.WriteLine(item);

             //9.查询结果使用take函数或者skip函数

             //var resultData = listData.Where(t=>t.Age<20);

             //foreach (var item in resultData.Take(1))//take函数是取结果集的前n个
             //    Console.WriteLine(item);

             //foreach (var item in resultData.Skip(1))//skip函数则是跳过结果集的前n个
             //    Console.WriteLine(item);

             Console.ReadKey();
         }
     }

     class Test
     {
         public string Name { get; set; }
         public int Age { get; set; }

         public string Sex { get; set; }

         public override string ToString()
         {
             return "名字:" + Name + "\n" + "年龄:" + Age;
         }
     }
 }

最新文章

  1. Objective-C之KVC、KVO
  2. BZOJ3434 [Wc2014]时空穿梭
  3. frame嵌套的学习
  4. android 焦点问题
  5. 100套新鲜免费的PS笔刷下载
  6. 【转】AWK常用
  7. Spark中集群相关概念
  8. 三、调试IIS启动域名配置
  9. 剑指offer 11. 位运算 二进制中1的个数
  10. 完全数java
  11. 【转】强化学习(一)Deep Q-Network
  12. jvm系列
  13. springcloud Ribbon学习笔记二
  14. ios9 适配的坑
  15. 【转】亲测plsql Developer配置免安装oralce客户端步骤
  16. Java并发编程 ReentrantLock 源码分析
  17. 阿里云Redis开发规范[转]
  18. php如何判断IP为有效IP地址
  19. easyui-combobox url绑定后台json数据问题
  20. LeetCode: 31. Next Permutation (Medium)

热门文章

  1. 如何用crontab运行一个图形化界面的程序
  2. C++:获取数组长度
  3. SQL Server -&gt;&gt; GROUPING SETS, CUBE, ROLLUP, GROUPING, GROUPING_ID
  4. onTouch与onClick事件的关系
  5. Git忽略文件方法【转】
  6. env1
  7. 第7篇 ORACLE EBS DEMO虚拟机环境的安装
  8. [CFgym101061C]Ramzi(贪心,双条件最短路)
  9. HeadFirst 13 (包装器, 过滤器) not Finish
  10. short s1 = 1; s1 = s1 + 1;和 s1 += 1;