C#应用中的LINQ 查询语言
1 static void Main(string[] args) 2 { 3 //初始化数据库 4 var customers = new[] { 5 new { CustomerID = 1, FirstName = "Orlando", LastName = "Gee", 6 CompanyName = "A Bike Store" }, 7 new { CustomerID = 2, FirstName = "Keith", LastName = "Harris", 8 CompanyName = "Bike World" }, 9 new { CustomerID = 3, FirstName = "Donna", LastName = "Carreras", 10 CompanyName = "A Bike Store" }, 11 new { CustomerID = 4, FirstName = "Janet", LastName = "Gates", 12 CompanyName = "Fitness Hotel" }, 13 new { CustomerID = 5, FirstName = "Lucy", LastName = "Harrington", 14 CompanyName = "Grand Industries" }, 15 new { CustomerID = 6, FirstName = "David", LastName = "Liu", 16 CompanyName = "Bike World" }, 17 new { CustomerID = 7, FirstName = "Donald", LastName = "Blanton", 18 CompanyName = "Grand Industries" }, 19 new { CustomerID = 8, FirstName = "Jackie", LastName = "Blackwell", 20 CompanyName = "Fitness Hotel" }, 21 new { CustomerID = 9, FirstName = "Elsa", LastName = "Leavitt", 22 CompanyName = "Grand Industries" }, 23 new { CustomerID = 10, FirstName = "Eric", LastName = "Lang", 24 CompanyName = "Distant Inn" } 25 };26 27 var addresses = new[] { 28 new { CompanyName = "A Bike Store", City = "New York", Country = "United States"}, 29 new { CompanyName = "Bike World", City = "Chicago", Country = "United States"}, 30 new { CompanyName = "Fitness Hotel", City = "Ottawa", Country = "Canada"}, 31 new { CompanyName = "Grand Industries", City = "London", 32 Country = "United Kingdom"}, 33 new { CompanyName = "Distant Inn", City = "Tetbury", Country = "United Kingdom"} 34 };35 36 //选中数据库中的FirstName37 IEnumerable<string> customerFirstNames =38 customers.Select(cust => cust.FirstName);39 //将FirstNames显示40 foreach (string name in customerFirstNames)41 {42 Console.WriteLine(name);43 }44 Console.WriteLine();45 46 //先根据地址的国家找到满足条件的,然后再选中满足条件的公司名字47 IEnumerable<string> usCompanies =48 addresses.Where(addr => String.Equals(addr.Country, "United States"))49 .Select(usComp => usComp.CompanyName);50 51 foreach (string name in usCompanies)52 {53 Console.WriteLine(name);54 }55 Console.WriteLine();56 57 //先根据公司名字首字母排序,然后再选中公司名字58 IEnumerable<string> companyNames =59 addresses.OrderBy(addr => addr.CompanyName).Select(comp => comp.CompanyName);60 61 foreach (string name in companyNames)62 {63 Console.WriteLine(name);64 }65 Console.WriteLine();66 67 //按国家分组68 var companiesGroupedByCountry =69 addresses.GroupBy(addrs => addrs.Country);70 //分别显示每个国家的公司数量与其名字71 foreach (var companiesPerCountry in companiesGroupedByCountry)72 {73 Console.WriteLine("Country: {0}\t{1} companies",74 companiesPerCountry.Key, companiesPerCountry.Count());75 foreach (var companies in companiesPerCountry)76 {77 Console.WriteLine("\t{0}", companies.CompanyName);78 }79 }80 Console.WriteLine();81 82 //匹配中间变量CompanyName相等的,从而构造出所需要的输出83 var citiesAndCustomers = customers84 .Select(c => new { c.FirstName, c.LastName, c.CompanyName })85 .Join(addresses, custs => custs.CompanyName, addrs => addrs.CompanyName,86 (custs, addrs) => new { custs.FirstName, custs.LastName, addrs.Country });87 88 foreach (var row in citiesAndCustomers)89 {90 Console.WriteLine(row);91 }92 Console.WriteLine();93 94 Console.ReadKey();95 }
转载于:https://www.cnblogs.com/madtime-inside/archive/2012/03/12/2391632.html
C#应用中的LINQ 查询语言相关推荐
- C#在DataTable中使用LINQ
LINQ 查询适用于实现的数据源 IEnumerable<T>接口或System.Query.IQueryable接口. DataTable类默认是没有实现以上接口的. 所以要在DataT ...
- .NET 6 中的 LINQ 更新
.NET 6 中的 LINQ 更新 Intro 在 .NET 6 中会针对 Linq 提供更好的支持,之前可能我们通过自定义扩展方法来实现的功能,现在官方直接支持了.Linq 将更加强大,更好地帮助我 ...
- C#中利用Linq.Dynamic实现简单的动态表达式构建查询
背景介绍 在ADO.NET中我们可以根据用户输入的查询条件拼接出指定的SQL语句进行查询或者筛选出所需的数据,但是在ORM框架如EF中,我们一般用LINQ操作数据查询,LINQ是否可以像SQL一样拼接 ...
- Lightswitch中使用LINQ
Lightswitch中使用LINQ时查询条件中不能出现另一个LINQ查询的引用,如: var workFollow = from w in this.DataWorkspace.OA2013Data ...
- 录像:在VS Orcas和ASP.NET中使用LINQ (第一部分)
录像:在VS Orcas和ASP.NET中使用LINQ (第一部分) [原文地址] Video: Using LINQ with ASP.NET in VS "Orcas" (Pa ...
- python中的linq - asq
为什么80%的码农都做不了架构师?>>> 大家都知道C#中的Linq很方便, 但Python中也有"Linq", 那就是asq 示例: #coding: u ...
- [译]如何在C#中调试LINQ查询
LINQ是我在C#中最喜欢的功能之一.它让代码看起来更漂亮美观.我们得到了一个易于编写和理解的简洁函数式语法.好吧,至少我们可以使用LINQ方法的语法风格. LINQ很难进行调试.我们无法知道该查询内 ...
- linq to sql查询中返回linq自动建立的实体类型)
编辑器加载中... /// /// UserBases扩展类,只在返回实体时用 /// public class User_BasesExt : User_Bases { } /// /// (LIN ...
- datatable中使用linq的条件或_C# 10. LINQ 的三种查询语句写法
前言: LINQ(语言集成查询)是 C#编程语言中的一部分.它在.NET Framework 3.5 和 C#3.0 被引入,在 System.Linq 命名空间中使用.LINQ 为我们提供了通用的查 ...
- .NET Framework 3.5中的LINQ简介
1. LINQ 概览 1.1. 数据访问现状 1.2. LINQ 数据访问方式 1.3. LINQ 项目 2. 访问数组 2.1. 查询数组 2.2. 绑定到页面 3. 访问集合 3.1. 自定义 C ...
最新文章
- 动手实验2-ODCH(11)
- GitHub 上有个沙雕开发者,做了款斗图工具后火了...
- Kafka将消息发往内存缓冲区
- adobe 书签怎么设置_让我们设置一些规则…没有Adobe Analytics处理规则
- java 模块设计模式_Java9模块化学习笔记二之模块设计模式
- 最拼爹的css属性:z-index失效情况记录
- Digix联合创始人:在接下来的12个月中 比特币将被称为真正的价值存储
- C++反汇编第一讲,认识构造函数,析构函数,以及成员函数
- 字符串首字母置为大写
- ​人工智能的底层构架,认识HBase数据模型
- ETF的战争从未停止【文献推荐·天风金工吴先兴团队】
- 解决mysql客户端中文显示乱码
- 2019年5月个人总结:大家都在跨界,原谅自己的懈怠
- 电脑报独家报道:宽带升级全国真相调查
- cygwin linux 教程,Cygwin工具使用入门教程
- NSLayoutConstraint:UITableViewCellContentView:.height == 44冲突的解决办法
- 正则表达式中 前瞻,后顾,负前瞻,负后顾等整理
- 设计计算机程序时 要考虑计算的过程,算法和程序设计练习题
- 夏日茶庄java_基于jsp的点心阁茶楼-JavaEE实现点心阁茶楼 - java项目源码
- 闭环频率特性与时域性能指标之间的关系
热门文章
- 微星主板不用DrMOS了?
- 剪裁NV21任意一部分的代码
- 3使用技巧_盆栽金钱树,平时使用“3个”技巧,叶子稠密、基部冒新芽
- C# 读取XML 写入XML 读写XML
- c++如何让类对象只能在堆(栈)上分配空间
- c语言文件读入到链表函数fscanf,【求解答】c关于把文件数据放进链表,并将链表遍历...
- 用python写二维码_Python用5行代码写一个自定义简单二维码
- vs code为什么不出现小黑框_为什么越来越多商家开通微信小程序商城?
- xcode连接iphone调试_电脑操作手机?iPhone,安卓通吃?手机还能这么玩!
- linux 汽车仪表软件架构,基于嵌入式Linux的汽车全数字仪表界面的设计