匿名函数
来源:互联网 发布:safari 64位 windows 编辑:程序博客网 时间:2024/05/21 07:57
原文链接:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/statements-expressions-operators/anonymous-functions
C# 中委托的发展
1、在 C# 1.0 中,通过使用在代码中 其他位置 定义的方法 显示初始化 委托 来创建委托的实例。
2、在 C# 2.0 中, 引入了匿名方法的概念,作为一种编写可在委托调用中执行的未命名内联语句块的方式。
3、在 C# 3.0 中,引入了lambda表达式,这种表达式与匿名方法的概念类似,但更具表现力并且更简练。
这两个功能统称匿名函数。通常,面向.NET Framework 3.5及更高版本的应用程序应使用lambda表达式。
下面的示例演示从C# 1.0 到 C# 3.0 委托创建过程的发展:
class Test{ delegate void TestDelegate(string s); static void M(string s) { Console.WriteLine(s); } static void Main(string[] args) { // Original delegate syntax required // initialization with a named method. TestDelegate testDelA = new TestDelegate(M); // C# 2.0: A delegate can be initialized with // inline code, called an "anonymous method." This // method takes a string as an input parameter. TestDelegate testDelB = delegate(string s) { Console.WriteLine(s); }; // C# 3.0. A delegate can be initialized with // a lambda expression. The lambda also takes a string // as an input parameter (x). The type of x is inferred by the compiler. TestDelegate testDelC = (x) => { Console.WriteLine(x); }; // Invoke the delegates. testDelA("Hello. My name is M and I write lines."); testDelB("That's nothing. I'm anonymous and "); testDelC("I'm a famous author."); // Keep console window open in debug mode. Console.WriteLine("Press any key to exit."); Console.ReadKey(); }}/* Output: Hello. My name is M and I write lines. That's nothing. I'm anonymous and I'm a famous author. Press any key to exit. */
阅读全文
0 0
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 匿名函数
- 细数荧幕中令人痛恨的十大反派
- 扫地机器人好用吗?
- CART与C4.5的区别
- python爬虫备忘
- unity InputField导致安卓摄像头卡顿问题
- 匿名函数
- iOS 九宫格连线手势解锁
- SEO技术问答:网站上线一个月了怎么没收录
- unity 判断物体是否到达屏幕边界
- 【MIUI】MIUI Issues
- jsp九大内置对象及作用域
- Cocos2d-x 2.x 绑定lua并使用tolua++
- XAMPP各个版本配置
- 自定义View之添加自定义属性