C# 匿名方法及Lambda表达式
1.匿名方法
定义:匿名方法不能直接在类中定义,而是在给委托变量赋值的时候,需要赋值一个方法,此时可以“现做现卖”,定义一个匿名方法传递给该委托。
举实例说明:
实例一:无参数,无返回值的一个匿名方法
////首先定义一个委托
public delegate void Mydelegate();
////声明
Mydelegate md=delegate(){
Console.WriteLine("我是Andrew"); }
////调用委托
md();
实例二:有参数,无返回值的一个匿名方法
////首先定义一个委托
public delegate void Mydelegate(string msg);
////声明
Mydelegate md=delegate(string msg){
Console.WriteLine("我是Andrew"+msg); }
////调用委托
md("你是谁?");
实例三:有参数,有返回值的一个匿名方法
////首先定义一个委托
public delegate int Mydelegate(int num1,int num2);
////声明
Mydelegate md=delegate(int n1,int n2){////注意:匿名方法时,无需添加返回的类型
return n1+n2;}
////调用委托
md(1,2); ////结果为3
////首先定义一个委托
public delegate void Mydelegate();
////声明
Mydelegate md=()=>{
Console.WriteLine("我是Andrew"); }
////调用委托
md();
实例二:有参数,无返回值的一个匿名方法
////首先定义一个委托
public delegate void Mydelegate(string msg);
////声明
Mydelegate md=m=>{
Console.WriteLine("我是Andrew"+m); }
////调用委托
md("你是谁?");
实例三:有参数,有返回值的一个匿名方法
////首先定义一个委托
public delegate int Mydelegate(int num1,int num2);
////声明
Mydelegate md=(x,y)=>{////注意:匿名方法时,无需添加返回的类型
return x+y;}
////调用委托
md(1,2); ////结果为3
C# 匿名方法及Lambda表达式的更多相关文章
- 从匿名方法到 Lambda 表达式的推演过程
Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数. 以上是msdn官网对Lambda 表达式 ...
- 委托学习笔记后续:泛型委托及委托中所涉及到匿名方法、Lambda表达式
引言: 最初学习c#时,感觉委托.事件这块很难,其中在学习的过程中还写了一篇学习笔记:委托.事件学习笔记.今天重新温故委托.事件,并且把最近学习到和委托相关的匿名方法.Lambda表达式及泛型委托记录 ...
- C# 从CIL代码了解委托,匿名方法,Lambda 表达式和闭包本质
前言 C# 3.0 引入了 Lambda 表达式,程序员们很快就开始习惯并爱上这种简洁并极具表达力的函数式编程特性. 本着知其然,还要知其所以然的学习态度,笔者不禁想到了几个问题. (1)匿名函数(匿 ...
- 委托、匿名方法、Lambda表达式的演进
摘自:"http://www.cnblogs.com/eagle1986/archive/2012/01/19/2327358.html 假设给我们一个泛型对象List<T>,T ...
- 匿名方法,Lambda表达式,高阶函数
原文:匿名方法,Lambda表达式,高阶函数 匿名方法 c#2.0引入匿名方法,不必创建单独的方法,因此减少了所需的编码系统开销. 常用于将委托和匿名方法关联,例如1. 使用委托和方法关联: this ...
- Fun<>,匿名方法,Lambda表达式 冒泡排序C#
大头文 分享,进步 冒泡排序C#实现,使用委托,包括三种方式:Fun<>,匿名方法,Lambda表达式 冒泡排序是一种简单的排序方法,适合于小量数字排序,对于大量数字(超过10个),还有更 ...
- 泛型委托及委托中所涉及到匿名方法、Lambda表达式
泛型委托及委托中所涉及到匿名方法.Lambda表达式 引言: 最初学习c#时,感觉委托.事件这块很难,其中在学习的过程中还写了一篇学习笔记:委托.事件学习笔记.今天重新温故委托.事件,并且把最近学习到 ...
- .NET Framework System.Array.Sort 数组类,加深对 IComparer、IComparable 以及泛型委托、匿名方法、Lambda 表达式的理解
本文内容 自定义类 Array.Sort 参考资料 System.Array.Sort 有很多对集合的操作,比如排序,查找,克隆等等,你可以利用这个类加深对 IComparer.IComparable ...
- C#中分别对委托、匿名方法、Lambda表达式、Lambda表达式树以及反射执行同一方法的过程进行比较。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 进阶系列(8)——匿名方法与lambda表达式
一 匿名方法的介绍 匿名方法是为了简化委托的实现,方便调用委托方法而出现的,同时,匿名方法也是学好lambda表达式的基础.在委托调用的方法中,如果方法只被调用一次,这个时候我们就没有必要创建 ...
随机推荐
- PostgreSQL停止动作观察
实验过程如下: 启动一个客户端: [postgres@cnrd56 bin]$ ./psql psql () Type "help" for help. postgres=# be ...
- 工作一直没有进步怎么办?试试PDCA法则吧!
许多人在工作或者学习的时候,总是会发现自己过了一段时间以后,全然没有不论什么进步.或者进步很之少. 而对于每个渴望让自己变得更好的人来说.是一件很令人苦恼的事情,今天我们就来谈一下工作和学习上,可实现 ...
- hdu 5286 How far away ? tarjan/lca
How far away ? Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pi ...
- iOS xcode8提交 iOS10 “此构建版本无效” (已解决)
近期上传应用,遇到了"此构建版本无效"的问题,如图 网查了一下,解决了这个问题:(注意:先不要急着怀疑是网络问题,重新提交,先检查问题,别问我怎么知道的...) 1:iOS10 之 ...
- mobile响应式页面meta信息相关记录
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scal ...
- Linux用户空间与内核空间(理解高端内存)
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数 ...
- .net 后台获取当前请求的设备
检查当前发起请求的设备是手持设备还是电脑端 以便显示不同的视图 public static bool CheckIsMobile(HttpRequestBase req) { bool flag = ...
- Windows OpenVPN Client and tls-auth
The official Windows OpenVPN client does not seem to work properly with the tls-auth option if a key ...
- IOS获取系统时间 NSDate
//返回当前时间,精确到毫秒.- (NSString *)getTimeNow { NSString* date; NSDateFormatter * formatter = [[NSDateForm ...
- html 模板
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...