Linq Lambda表达式怎么使用
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,本篇内容介绍了"Linq Lambda表达式怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C
千家信息网最后更新 2025年11月09日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安全错误
数据库的锁怎样保障安全
禄劝住宿软件开发
数据库从分店变成总部
虎牙直播怎么查看服务器地址
数据库的表空间可以缩小吗
小学生网络安全靠大家播音稿
淘宝服务器有哪几个
c语言数据库应用程序开发
天津市云空间服务器
收废品软件开发有限公司
长沙软件开发驻场服务
山西pdu服务器电源大概多少钱
如何写软件开发需求
石家庄 手机软件开发
龙岩应用软件开发
mud服务器搭建
美国陆军服务器
工业还原自适应服务器
长沙数据库系统工程师
婚纱摄影网站需要数据库吗
群众网络安全意识薄弱
网络安全提现的问题
南京恒旭网络技术有限公司
为什么下围棋总是连接服务器
系统管理员可以更改服务器名称
股票信息数据库设计
高校财务网络安全
炒股软件服务器要多大的
运营商网络技术支撑岗位
香港软件开发收入
网络安全的六个方面