Linq Lambda表达式怎么使用
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,本篇内容介绍了"Linq Lambda表达式怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C
千家信息网最后更新 2024年11月30日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安全错误
数据库的锁怎样保障安全
网络安全专家资格证
食品安全 数据库
国内工业互联网企业东土科技
数据库平均价格的正确写法
sim卡无效激活服务器现有
浮云服务器
qt服务器断开链接
服务器网络连接不通怎么办
数据库操作实训原理是什么
海淀区电子计算机软件开发排名
网络安全法制教育内容
流浪地球网络安全视频
程序员数据库索引多用b树
查看数据库连接数
网络安全意识有什么用
2021年网络安全和信息化工作会议
华为信息网络技术有什么课程
个人电动自行车注册登记 服务器异常
不连接数据库用jsp写登录页面
上海服务器总代
网络安全专家资格证
网络安全管理的概念是
与软件开发公司对接
vb2010数据库视频
网络技术追回被骗的钱是真的吗
git同步时出现网络安全
聊城智能养老软件开发专业制作
估算服务器配置
望城区共享陪护床软件开发
数据库安装好后安装