LinQ综合应用实例
直接上代码,内容很浅显易懂,在这里就不做更多的解释,解释见代码注释。
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综合应用实例的更多相关文章
- 使用LINQ查询数据实例和理解
使用LINQ查询数据实例和理解 var contacts= from customer in db.Customers where customer.Name.StartsWith("A&q ...
- 华为OSPF与ACL综合应用实例讲解
OSPF与ACL综合应用实例讲解 项目案例要求: 1.企业内网运行OSPF路由协议,区域规划如图所示:2.财务和研发所在的区域不受其他区域链路不稳定性影响:3.R1.R2.R3只允许被IT登录管理:4 ...
- openresty 学习笔记小结:综合应用实例
openresty 学习笔记小结:综合应用实例 这个综合实验实现的功能其实很简单,用户访问一个页面,显示一个默认页面.输入参数(post或者get都可以),如果参数在数据库查询得到并满足一定条件,根据 ...
- Directx 3D编程实例:多个3D球的综合Directx实例
最近朋友建议我写一些关于微软云技术的博客留给学校下一届的学生们看,怕下一届的MSTC断档.于是我也觉的有这个必要.写了几篇博客之后,我觉得也有必要把这一年的学习内容放在博客做个纪念,就这样写了本篇博客 ...
- [C#]Linq To Xml 实例操作- 转
http://blog.sina.com.cn/s/blog_6c762bb301010oi5.html http://blog.xuite.net/cppbuilder/blog/9940157 在 ...
- 【C#】MVC+EF+LINQ 综合小项目
第一,创建数据库 create table category(id int primary key,name nvarchar(20)) create table news(id int primar ...
- Linq 高级应用实例
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- Linq To Csv 实例简说
http://www.codeproject.com/Articles/25133/LINQ-to-CSV-library 详细源代码在这里 https://github.com/mperdeck/L ...
- --@angularJS--较复杂的指令嵌套demo——综合小实例:登陆界面
1.index.html: <!DOCTYPE HTML><html ng-app="app"><head> <title>c ...
随机推荐
- Careercup - Facebook面试题 - 4907555595747328
2014-05-02 07:49 题目链接 原题: Given a set of n points (coordinate in 2d plane) within a rectangular spac ...
- 2693: jzptab - BZOJ
Description Input 一个正整数T表示数据组数接下来T行 每行两个正整数 表示N.MOutput T行 每行一个整数 表示第i组数据的结果Sample Input 1 4 5 Sampl ...
- 【转载】C++中结构体的声明和定义
http://blog.csdn.net/whuslei/article/details/5665289 1 //定义一个结构体,类型为struct Student 2 struct Stude ...
- 关闭VS时, 每次都 会弹出 保存以下各项的更改吗?
如果是添加项目, 或修改了解决方案的配置, 会弹出这个是正常的. 如果在没有修改的情况下还这样就是有问题的. 原因: 在Vs中安装了PowerDesigner插件, 并在VS中点了该插件的东西 ...
- PE文件结构详解(一)基本概念
PE(Portable Execute) 文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任 何扩展名.那 ...
- MonoBehaviour.StopCoroutine
MonoBehaviour.StopCoroutine Description Stops all coroutines named methodName running on this behavi ...
- POJ 1844
#include <iostream> #define MAXN 20 using namespace std; int value[MAXN]; int place[MAXN]; ]; ...
- 深入浅出ES6(五):不定参数和默认参数
作者 Jason Orendorff github主页 https://github.com/jorendorff 不定参数 我们通常使用可变参函数来构造API,可变参函数可接受任意数量的参数.例 ...
- POJ2513Colored Sticks
http://poj.org/problem?id=2513 题意 : 一些木棒,两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的. 思路 : 这个题的话就 ...
- SDUT1061Binomial Showdown(组合数)
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1061 题意 : 表示这个题的英文没看懂,就看懂 ...