LINQ有很多值得学习的地方,这里我们主要介绍使用LINQ Where扩展方法,包括介绍书写带Where子句的LINQ等方面。
创新互联建站是一家集网站建设,下花园企业网站建设,下花园品牌网站建设,网站定制,下花园网站建设报价,网络营销,网络优化,下花园网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
我们除了可以如下方式书写带Where子句的LINQ外:
- from p in products where p.UnitsInStock > 0 && p.UnitPrice > 3.00M select p;
还可以对数组(所有实现了IEnumerable接口的对象都可以)的使用LINQ here扩展方法。
把一个查询语句写成多个扩展函数的方式,这其实是编译器处理查询语句的方法,比如下面的查询语句:
- int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 };
- var m = from n in arr where n < 5 orderby n select n;
编译器在编译后,替我们产生的代码等价于如下的代码:
- IOrderedSequence m = arr.Where(delegate (int n) {
- return (n < 5);
- }).OrderBy(delegate (int n) {
- return n;
- });
下面我们来看一个使用LINQ here扩展方法的例子:
我们有一个字符串数组,一次是0到9的英文单词,我们查询出这10个字符的长度比它所在数组的位置 这两个数字比较小的英文单词.
这个查询可能有些绕口,你可以先看下面这些代码:
- public static void LinqDemo01()
- {
- string[] digits = { "zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine" };- var shortDigits = digits.Where((dd, aa) => dd.Length < aa);
- Console.WriteLine("Short digits:");
- foreach (var d in shortDigits)
- Console.WriteLine("The word {0} is shorter than its value.", d);
- }
输出结果:
- Short digits:
- The word five is shorter than its value.
- The word six is shorter than its value.
- The word seven is shorter than its value.
- The word eight is shorter than its value.
- The word nine is shorter than its value.
【编辑推荐】
网页标题:LINQ使用Where扩展方法
路径分享:http://www.shufengxianlan.com/qtweb/news20/546420.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联