直接上代码,内容很浅显易懂,在这里就不做更多的解释,解释见代码注释。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Threading.Tasks; public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string[] names = { "Wang", "Biao", "WangBiao", "Kingtiger" };
var q1 = names.Where(a => a.StartsWith("W"));//直接查询
var q2 = from a in names
where a.StartsWith("W")
select a;//linq查询
var q3 = from a in names
where a.StartsWith("W")
orderby a descending
select a;//linq查询,包括排序,倒序要加上descending
var q4 = names.OrderBy(a => a).Where(a=>a.StartsWith("W"));//直接排序
var q5 = names.OrderByDescending(a => a).Where(a=>a.StartsWith("W"));//直接倒序排序 var q6 = from a in names
select new
{
HI = a + ",您好!"
};//查询后重构输出 var q7 = names.Select(a => new { HI = a + ",您好!" });//直接查询构造输出 List<Person> persons = new List<Person>();
persons.Add(new Person() { ID="0001",Name="Kingtiger" });
persons.Add(new Person() { ID = "0002", Name = "Wang" });
persons.Add(new Person() { ID = "0001", Name = "Biao" });
persons.Add(new Person() { ID = "0004", Name = "WangBiao" }); var q8 = from p in persons
orderby p.ID, p.Name
select p;//多级排序,先排序ID,然后再排序Name
var q9 = persons.OrderBy(a => a.ID).ThenBy(a => a.Name).Select(a => a);//直接两个排序 var qt = from p in persons
where p.Name.Contains("W") || p.Name.Contains("Biao")
select p;//第一次查询进行过滤
var q10 = from p in qt
orderby p.Name descending
select p.Name;//对一次查询结果进行第二次处理 var q11 = from p in persons
group p by p.ID into cg
select new {
GroupID = cg.Key,
GroupCount= cg.Count()
};//分组查询,将结果提取出来 List<Order> orders = new List<Order>();
orders.Add(new Order() { UserID="0002",OrderID="001", OrderName="苹果" });
orders.Add(new Order() { UserID = "0002", OrderID = "003", OrderName = "香蕉" });
orders.Add(new Order() { UserID = "0004", OrderID = "002", OrderName = "荔枝" }); var q12 = from p in persons
join o in orders on p.ID equals o.UserID
select new
{
PName = p.Name,
POrderName = o.OrderName
};
foreach (var p in q12)
{
Response.Write(p+"<br/>");
}
}
} public class Person
{
public string ID { set; get; }
public string Name { set; get; }
} public class Order
{
public string OrderID { set; get; }
public string OrderName { set; get; }
public string UserID { set; get; }
}

LinQ综合应用实例的更多相关文章

  1. 使用LINQ查询数据实例和理解

    使用LINQ查询数据实例和理解 var contacts= from customer in db.Customers where customer.Name.StartsWith("A&q ...

  2. 华为OSPF与ACL综合应用实例讲解

    OSPF与ACL综合应用实例讲解 项目案例要求: 1.企业内网运行OSPF路由协议,区域规划如图所示:2.财务和研发所在的区域不受其他区域链路不稳定性影响:3.R1.R2.R3只允许被IT登录管理:4 ...

  3. openresty 学习笔记小结:综合应用实例

    openresty 学习笔记小结:综合应用实例 这个综合实验实现的功能其实很简单,用户访问一个页面,显示一个默认页面.输入参数(post或者get都可以),如果参数在数据库查询得到并满足一定条件,根据 ...

  4. Directx 3D编程实例:多个3D球的综合Directx实例

    最近朋友建议我写一些关于微软云技术的博客留给学校下一届的学生们看,怕下一届的MSTC断档.于是我也觉的有这个必要.写了几篇博客之后,我觉得也有必要把这一年的学习内容放在博客做个纪念,就这样写了本篇博客 ...

  5. [C#]Linq To Xml 实例操作- 转

    http://blog.sina.com.cn/s/blog_6c762bb301010oi5.html http://blog.xuite.net/cppbuilder/blog/9940157 在 ...

  6. 【C#】MVC+EF+LINQ 综合小项目

    第一,创建数据库 create table category(id int primary key,name nvarchar(20)) create table news(id int primar ...

  7. Linq 高级应用实例

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  8. Linq To Csv 实例简说

    http://www.codeproject.com/Articles/25133/LINQ-to-CSV-library 详细源代码在这里 https://github.com/mperdeck/L ...

  9. --@angularJS--较复杂的指令嵌套demo——综合小实例:登陆界面

    1.index.html: <!DOCTYPE HTML><html ng-app="app"><head>    <title>c ...

随机推荐

  1. Android Studio 单刷《第一行代码》系列 01 —— 第一战 HelloWorld

    前言(Prologue) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android ...

  2. Android journey 1@关于编码风格和命名规范

    /* * 1.关于编程风格:每一位程序猿可能都有自己独特的编程风格,但是有些规则是大家都必须遵守的,特别 * 是在工作的过程中,良好的代码风格能大大提高代码本身的可阅读性和维护性,也更有利于别人修改你 ...

  3. oracle中行转列函数

    一.问题描述 有时在“相关子查询中”需要查询某个实体类对应的某个字段有多个值,如果不做行专列查询,会提示返回多个列的错误.例如: 如上图所示,一个组合包,可能对应多个产品,需要你将所对应的多个产品都放 ...

  4. javascript数学计算

    ◎Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数:◎Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数:◎Math.round()执行标准舍入,即它总 ...

  5. BT5之Metasploit[MSF]连接postgresql数据库

    1,先查看postgresql的端口,默认是自动开启的,端口7337 .   root@bt:~# netstat -tnpl |grep postgres tcp        0      0 1 ...

  6. CDATA

    1DTD中的属性类型 全名:character data 在标记CDATA下,所有的标记.实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下: <![CDATA ...

  7. 关于nginx限制IP或IP段的问题2011

    关于nginx限制IP或IP段的问题2011-04-08 16:46:39 分类: LINUX 最近有同事问需要在nginx中针对一些IP和IP段限制访问,通过了解以下方法可以解决问题:   首先建立 ...

  8. JsRender系列demo-10

    <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery.j ...

  9. POJ1321棋盘问题

    http://poj.org/problem?id=1321 题意 : 我能说这是迄今为止见到的POJ上第二道中文题吗,既然是中文也很好理解,就不详述了 思路 : 典型的深搜DFS ; #includ ...

  10. C Primer Plus 第4章 字符串和格式化输入/输出 编程练习

    1. #include <stdio.h> int main(void) { ]; ]; printf("请输入您的名字: "); scanf("%s&quo ...