Linq Lambda表达式怎么使用
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"Linq Lambda表达式怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C
千家信息网最后更新 2026年11月02日Linq Lambda表达式怎么使用
本篇内容介绍了"Linq Lambda表达式怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
C#3.0时代的Linq查询语句
在C#3.0中我们又有了改善代码的新工具。
匿名委托很不错,但是我们希望有更简单的,更容易维护的代码。C#3.0提供了Linq Lambda表达式的概念,你可以把Linq Lambda表达式是我们应用匿名委托的捷径,下面是用Linq Lambda表达式重写的查询:
static IEnumerableGoldWatch(IEnumerable employees) { return Filter(employees, employee => employee.Years>3 ); } static IEnumerable SalesForce(IEnumerable employees) { return Filter(employees, employee => employee.Department=="Sales" ); }
这段代码相当简单而且也很容易维护,但还存在一些问题。
◆GoldWatch(employees)
◆SalesForce(employees)
当你看到这样的调用的时候就会意识到这个问题,从OO的视角来看,我们已经熟悉了noun.verb()这样的调用形式,理想情况下,我们希望用这样的语法能查询一个集合:
◆employees.GoldWatch()
◆employees.SalesForce()
有人可能会定义一个新的Employee类,它实现了IEnumerable
C#3.0用扩展方法(Extension method)解决这个方法:
static IEnumerableFilter(this IEnumerable employees, Choose choose) { foreach (Employee employee in employees) { if (choose(employee)) { yield return employee; } } } static IEnumerable GoldWatch(this IEnumerable employees) { return employees.Filter(employee => employee.Years>3); } static IEnumerable SalesForce(this IEnumerable employees) { return employees.Filter( employee => employee.Department=="Sales"); }
这看起来很好了,但如果我们想象Employee一样查询Customer呢?或者说,查询我们的存货呢?
不用为每一个类单独写一个Filter方法,我们可以将Filter写成一个通用函数:
delegate bool Choose(T t); static IEnumerable Filter (this IEnumerable items, Choose choose) { foreach (T item in items) { if (choose(item)) { yield return item; } } } //现在我们可以筛选我们希望的任何类型了! int [] a = new int [] {1,2,3,4,5}; a.Filter(i => i==1 || i==3); //这个筛选方法是如此有用且通用,C#里已经内置了一个称为Where的实现 //在PDC上展示的实际的Where实现 public delegate T Func (A0 arg0); public static IEnumerable Where (this IEnumerable source, Func predicate) { foreach (T element in source) { if (predicate(element)) yield return element; } }
"Linq Lambda表达式怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
表达式
查询
方法
代码
问题
内容
实际
情况
更多
知识
委托
不错
实用
学有所成
接下来
不用
函数
困境
存货
工具
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
小米移动互联网科技园
北京路客互联网科技有限公司
科技赋能下的互联网金融
河南真二互联网科技有限公司
互联网科技媒体
顺网科技2021年互联网排名
互联网 科技馆
安控科技rtu产品工业互联网
常德市电业局互联网科技部
彤创互联网科技有限公司
昭通互联网科技选哪家
想开互联网科技公司怎么样
中国科技创新与世界互联网大会
互联网公司黑科技创始人
中国互联网公司排名锤子科技
东莞新华互联网科技学校
互联网科技大赛获奖感言
互联网方面的科技前沿
数字互联网科技有限公司
互联网科技产业
金融科技与互联网金融
深圳齐家互联网科技
互联网金融科技平台
爱医互联网络科技
上海钢联属于互联网科技股吗
信承诺互联网科技有限公司
广西泛欧互联网科技有限公司
互联网科技对化妆品行业
高科技和互联网的现代国家