看代码实现:

 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. ArchLinux安装与配置小结

    最近无意间发现一个基于ArchLinux的发行版--BlackArch,主题十分炫酷(中二).当然渗透类的Linux 发行版已经有BackTrack和Kali了,不过都是源于Debian的,使用者众多 ...

  2. Java多线程-线程的调度(合并)

    线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法. join为非静态方法,定义如下:void join(): ...

  3. linux 如何让程序后台执行

    $ (./test.sh &)   $ setsid ./test.sh &   $ nohup ./test.sh &   具体的转自:http://digdeeply.or ...

  4. 注册表修改PSD关联photoshop

    当psd文件右键点击--打开方式--选择默认程序photoshop也没用的时候,那应该是注册表未关联,可以试下以下方法: 第一步:在运行框中输入regedit,打开注册表编辑器,将HKEY_CLASS ...

  5. 【原创】如何在Android中为TextView动态设置drawableLeft等

    如何在Android中为TextView动态设置drawableLeft等   两种方式:   方式1:手动设置固有边界 Drawable drawable = getResources().getD ...

  6. MyBatis学习总结_01_MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  7. python流程控制语句 for循环 - 1

    Python中for循环语句是通过遍历某一序列对象(元组.列表.字典等)来构建循环,循环结束的条件就是遍历对象完成. 语法形式: for <循环变量> in <遍历对象>: & ...

  8. CentOS 快速安装pip

    python的很多组件都必须依靠pip来安装,比如elasticsearch驱动.postgres驱动 Python2.7以后的版本自带pip,centos6.5之前yum自带的python为2.6, ...

  9. 【Tech】Cassandra安装和启动

    1.安装 jre,配置系统环境变量: 2.安装python,配置环境变量: 3.下载cassandra,http://cassandra.apache.org/download/: 4.解压,这里我没 ...

  10. C# 中通过API实现的打印类

    using System;using System.Collections;using System.Text;using System.Runtime.InteropServices; using ...