看代码实现:

 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. iOS开发--即时通讯常用第三方库

    前言 自毕业到现在,从事iOS即时通讯开发已经1年半之久.主要负责Allure开发,目前已上架,可以在苹果商店搜素Allure.Allure模仿微信的交互和设计效果,已经实现微信的大部分功能. 在这里 ...

  2. 替换应用程序exe图标,主要使用BeginUpdateResource,UpdateResource API函数

    替换应用程序exe图标,主要使用的API函数是BeginUpdateResource(),UpdateResource(),EndUpdateResource()来使用自定义的ico文件类替换exe程 ...

  3. Hibernate笔记——表的的4种继承关系

    原文:http://justsee.iteye.com/blog/1070588 ===================================== 一.继承关系_整个继承树映射到一张表 对象 ...

  4. Linux命令-tar

    tar命令用于对文件打包压缩或解压 格式:tar [选项 -C 指定解压到的目录] [文件] 打包并压缩文件: tar -zcvf 压缩包名.tar.gz 文件名 解压并展开压缩包 tar -zxvf ...

  5. TopologyBuilder

    创建并提交Topology到Storm集群的完整代码 //创建TopologyBuilder对象 TopologyBuilder builder=new TopologyBuilder(); //添加 ...

  6. opencv 金字塔图像分割

    我所知的opencv中分割函数:watershed(只是看看效果,不能返回每类pixel类属),cvsegmentImage,cvPyrSegmentation(返回pixel类属) 金字塔分割原理篇 ...

  7. Java基础复习之二:运算符,键盘录入,流程控制语句,if语句,三元运算

    1.运算符 1.1.算术运算符  +(加法有三个用法:加法,正号,字符串连接符)  -  *  /  %  ++  -- 1.1.1./ 是取商,%是取余 1.1.2.++ 与--的用法(a:作用是自 ...

  8. bat 脚本传递参数测试

    start  CommissionMQMonitorService.exe   MMM 命令   执行器                                           参数

  9. BZOJ 2006 超级钢琴(划分树+优先队列)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2006 题意: 给出一个数列A,L,R,构造出一个新的集合,集合中的数字为A中任意连续t( ...

  10. MDM平台学习笔记

    最近和将来一段时间都会花很多时间在主数据管理平台的学习和开发上,从现在开始打算记录此过程中的知识点和学习心得,加油! 1.IBM全新的产品文档网站IBM Knowledge Center,软件硬件产品 ...