看代码实现:

 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;
         }
     }
 }

C#中的选择查询相关的更多相关文章

  1. MSCRM 2011中过滤化查询的实现方法和禁用选择视图

    MS CRM 2011中过滤化查询的实现方法 使用过滤化查询,可以实现根据表单上的其他信息作为搜索条件,限制Lookup查找框中的搜索结果数量的目的. 在讲解具体的实现方法之前,先设定一个应用场景: ...

  2. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  3. MSSQL·查询数据库中所有索引的相关信息

    阅文时长 | 0.45分钟 字数统计 | 784字符 主要内容 | 1.引言&背景 2.声明与参考资料 『MSSQL·查询数据库中所有索引的相关信息』 编写人 | SCscHero 编写时间 ...

  4. 详细讲述MySQL中的子查询操作 (来自脚本之家)

    继续做以下的前期准备工作: 新建一个测试数据库TestDB: ? 1 create database TestDB; 创建测试表table1和table2: ? 1 2 3 4 5 6 7 8 9 1 ...

  5. ArcGIS Engine开发之旅08--和查询相关的对象和接口

    原文:ArcGIS Engine开发之旅08--和查询相关的对象和接口 查询在GIS领域应该是一个很频繁的操作,在GIS中除了具有属性查询(和其他关系型数据库的查询类似),还提供了空间查询.在介绍查询 ...

  6. mongo中的模糊查询

    以下是一个mongo查询的综合应用,即介绍一个生产中实际应用的模糊查询,当然其实也很简单,主要用到mongo中的模糊查询和$or查询,以及并的关系,下面是一个mongo中的一条记录 { "_ ...

  7. Hibernate中的HQL查询与缓存机制

    HQL:完全面向对象查询 SQL的执行顺序: 1.From 2.Where 过滤基础数据 where与having的区别:1.顺序不同 2.where过滤基础数据 3. 过滤聚合函数 3.Group ...

  8. 浅谈T-SQL中的子查询

    引言 这篇文章我们来简单的谈一下子查询的相关知识.子查询可以分为独立子查询和相关子查询.独立子查询不依赖于它所属的外部查询,而相关子查询则依赖于它所属的外部查询.子查询返回的值可以是标量(单值).多值 ...

  9. oracle中的连接查询与合并查询总结

    连接查询: 连接查询是指基于多张表或视图的查询.使用连接查询时,应指定有效的查询条件,不然可能会导致生成笛卡尔积.如现有部门表dept,员工表emp,以下查询因查询条件无效,而产生笛卡尔积:   (各 ...

随机推荐

  1. awk过滤统计不重复的行

    awk以‘\t’为分隔符区分列 cat logs | grep IconsendRedirect | grep 1752 | awk -F'\t' '{print $8}'| wc -l awk过滤统 ...

  2. 自绘CProgressCtrl进度条控件,支持自定义显示文本和进程百分比信息

    // CXProgressCtrl 头文件 #pragma once // CXProgressCtrl class CXProgressCtrl : public CProgressCtrl { D ...

  3. MFC的GUI窗口使用Console输出函数printf(AllocConsole后,使用GetStdHandle取得句柄,然后就可以操作了)

    在GUI程序中使用printf函数: #include <io.h> #include <fcntl.h> void InitConsole() { int nRet= 0; ...

  4. 打印TMemo的内容到打印机

    Canvas.TextOut真是好用,Printer也实在好用: procedure PrintTStrings(Lst : TStrings) ; var I, Line : Integer; be ...

  5. VCL里为什么要用类函数代替API,为什么要用CM_消息代替虚函数

    之所以要用类函数代替API,是因为VCL对它做了一些包装,好在API起作用之前和之后做一些额外的事情:通知和判断等等.之所以类函数要包装一个CM_消息,是因为这样方便程序员(在调用类函数的基础上)截断 ...

  6. 使用 DB Fixtures 为 Unit Test 提供基础数据,Sails + Mocha 实现。

    使用 DB Fixtures 为 Unit Test 提供基础数据,Sails + Mocha 实现. 问题:Test Fixture 太分散,管理麻烦. 在做单元测试的时候,数据回滚是个比较麻烦的问 ...

  7. ISE MAP报错: Unsupported programming for BSCAN block and JTAG_CHAIN attribute value 1的解决方法

    2014-04-16 17:35:30 ISE MAP报错: Unsupported programming for BSCAN block and JTAG_CHAIN attribute valu ...

  8. sqlserver取得本月一号

    select convert(datetime,convert(varchar(7),getdate(),120)+'-01',120) select convert(datetime,convert ...

  9. C#中的文件同步

    How to: Synchronize Files by Using Managed Code FileSyncProvider Class File Synchronization Provider ...

  10. 第四讲:hibernate 的session (二)

    Session在hibernate中表示连接.下面介绍他的常用方法. 在使用前先把最重要的说了.打开API,发现在session中基本所有的方法(包括获得session的方法)都会抛出异常Hibern ...