ASP.NET Lambda表达式
Lambda表达式
Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class Test
{
delegateintAddHandler(intx,inty);
staticvoidPrint(AddHandleradd)
{
Console.Write(add(1,3));
}
static void Main()
{
Print((x,y)=>x+y);
Print((x,y)=>{ int v=x*10; return y+v;});
Console.Read();
}
}
|
所有 Lambda 表达式都使用 Lambda 运算符 =>;,该运算符读为“goes to”。该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。Lambda 表达式 x => x * x 读作“x goes to x times x”。
类型
delegate int del(int i);del myDelegate = x=>{return x*x;};int j = myDelegate(5);//j=25
using System.Linq.Expressions;//...Expression <del>=x=>x*x;
=> 运算符具有与赋值运算符 (=) 相同的优先级,并且是右结合运算符。
- Lambda 包含的参数数量必须与委托类型包含的参数数量相同。
- Lambda 中的每个输入参数必须都能够隐式转换为其对应的委托参数。
- Lambda 的返回值(如果有)必须能够隐式转换为委托的返回类型。
1
2
3
|
string [] names={ "agen" , "balen" , "coure" , "apple" };
string [] findNameA=Array.FindAll< string >(names, delegate ( string v){ return v.StartsWith( "a" );});
string [] findNameB=Array.FindAll< string >(names,v=>v.StartsWith( "a" ));
|
1
2
|
string []findNameA=Array.FindAll< string >(names, delegate ( string v){ return v.StartsWith( "a" );});
string []findNameB=Array.FindAll< string >(names, delegate ( string v){ return v.StartsWith( "a" );});
|
注意
示例:
ASP.NET Lambda表达式相关推荐
- 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截...
程序猿修仙之路--数据结构之你是否真的懂数组? 数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构 .要想在之后的江湖历练中通关,数据结构必不可少.数据 ...
- C# Lambda表达式
"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量.它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型, ...
- 反映参数名称:滥用C#lambda表达式还是语法亮度?
我正在看MvcContrib网格组件,我很着迷,但同时被网格语法中使用的语法技巧击退: .Attributes(style => "width:100%") 上面的语法将生成 ...
- mvc html.displayfor,我想了解@ Html.DisplayFor(modelItem = item.FirstName)中的lambda表达式...
为了理解Visual Studio生成的代码,我也付出了很多努力. 除了提供有关lambda表达式的一般说明外,我想使用ASP.NET MVC框架作为上下文. 假设我们准备了一个具有2个属性的Mode ...
- 方法的直接调用,反射调用与……Lambda表达式调用
方法的直接调用,反射调用与--Lambda表达式调用 2008-11-24 09:59 by Jeffrey Zhao, 32557 阅读, 100 评论, 收藏, 编辑 想调用一个方法很容易,直接代 ...
- LINQ(隐式表达式、lambda 表达式)
.NET 中一项突破性的创新是 LINQ( Language Integrated Query,语言集成查询),这组语言扩展让你能够不必离开舒适的 C# 语言执行查询. LINQ 定义了用于构建查询表 ...
- 集合 Lambda表达式 详解
# 集合 Lambda表达式 语言: 适合做服务器开发:JAVA .net pht c++ c# asp golang python- 前端:ios android H5 jsp- 数据库:my ...
- Lambda 表达式基础理论与示例
Lambda 表达式基础理论与示例 Lambda 表达式,也可称为闭包,推动 Java 8 发布的最重要新特性. Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中). 使用 Lam ...
- lambda表达式树
一.定义: 表达式树又称为表达式目录树,以数据形式表示语言级代码.所有的数据都存储在树结构中,每个结点表示一个表达式(Expression). 二.要点: –Lambda表达式的参数类型可以忽略,因为 ...
最新文章
- 关于刘冬大侠Spring.NET系列学习笔记3的一点勘正
- java striptrailingzeros_java – 为什么不BigDecimal.stripTrailingZeros()总是删除所有尾随零?...
- LibTorch NMS
- Docker 之 Dockerfile 的概述与使用
- 小米 MySQL 数据实时同步到大数据数仓的架构与实践
- redo日志写入为什么“俩阶段提交”
- C#多线程开发-处理子线程中的异常
- ArcGIS实验教程——实验四十:ArcGIS洪水淹没分析案例教程
- 加强版[BZOJ#3483] SGU505 Prefixes and suffixes(询问在线版)
- React中判断已完成的个数
- DAY09 NETWORK Cisco简单不同网络主机通信
- Vue.js刷新当前页面
- Centos干净卸载apache-php-mysql
- 模块_time模块/copy模块/os模块
- 深度森林DF21、deep forest、gcForest
- 0-50A集成式霍尔电流传感器应用案例分享
- 多个Excel文件合并到一个Excel文件的多个工作表(Sheet)里
- 在JDK1.8中,ArrayList扩容机制Increments modCount与起始化讲解
- has a default child route. When navigating to this named route 。。。。。报错
- web前端学习到什么程度可以面试工作
热门文章
- 分布式理论:CAP 是三选二吗?
- 滴水逆向三期实践10:动态链接库
- Oracle 11g 新特性 -- Result Cache(结果高速缓存)
- Servlet和JSP入门视频【高清】,32个视频
- 利用CSV 引擎加载数据
- 研一学习笔记-小白NLP入门学习笔记
- Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning阅读笔记
- 使用jieba+wordcloud生成微信好友个性签名词云图
- 利用自定义方法显示数组中的全部数据
- #小程序# 如何解决video视频在ios里出现黑屏?