LINQ使用Where扩展方法

LINQ有很多值得学习的地方,这里我们主要介绍使用LINQ Where扩展方法,包括介绍书写带Where子句的LINQ等方面。

创新互联建站是一家集网站建设,下花园企业网站建设,下花园品牌网站建设,网站定制,下花园网站建设报价,网络营销,网络优化,下花园网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

我们除了可以如下方式书写带Where子句的LINQ外:

 
 
 
  1. from p in products where p.UnitsInStock > 0 && p.UnitPrice > 3.00M select p; 

还可以对数组(所有实现了IEnumerable接口的对象都可以)的使用LINQ here扩展方法。

把一个查询语句写成多个扩展函数的方式,这其实是编译器处理查询语句的方法,比如下面的查询语句:

 
 
 
  1. int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 };  
  2. var m = from n in arr where n < 5 orderby n select n;  

编译器在编译后,替我们产生的代码等价于如下的代码:

 
 
 
  1. IOrderedSequence m = arr.Where(delegate (int n) {  
  2. return (n < 5);  
  3. }).OrderBy(delegate (int n) {  
  4. return n;  
  5. });  

下面我们来看一个使用LINQ here扩展方法的例子:

我们有一个字符串数组,一次是0到9的英文单词,我们查询出这10个字符的长度比它所在数组的位置 这两个数字比较小的英文单词.

这个查询可能有些绕口,你可以先看下面这些代码:

 
 
 
  1. public static void LinqDemo01()  
  2. {  
  3. string[] digits = { "zero", "one", "two", "three", "four", 
    "five", "six", "seven", "eight", "nine" };  
  4. var shortDigits = digits.Where((dd, aa) => dd.Length < aa);  
  5. Console.WriteLine("Short digits:");  
  6. foreach (var d in shortDigits)  
  7. Console.WriteLine("The word {0} is shorter than its value.", d);  
  8. }  

输出结果:

 
 
 
  1. Short digits:  
  2. The word five is shorter than its value.  
  3. The word six is shorter than its value.  
  4. The word seven is shorter than its value.  
  5. The word eight is shorter than its value.  
  6. The word nine is shorter than its value.  

【编辑推荐】

  1. LINQ to SQL Table浅谈
  2. Linq语句问题的解决方法
  3. Ling to sql更新实体概述
  4. Linq实体继承简单描述
  5. Linq Library概述

网页标题:LINQ使用Where扩展方法
路径分享:http://www.shufengxianlan.com/qtweb/news20/546420.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联