大家好,欢迎来到IT知识分享网。
在开始正文之前,我先声明一点:现在C#中已经很少用匿名方法了,匿名方法是微软早期的产物,现在基本上都在用Lambda表达式了,如果你不想学,就跳过这一章吧,我平常也不用,主要是考虑到文章的完整性而写的这一章内容。
1.1.1. 什么是匿名方法?
匿名方法是 C# 中无需命名、直接内联使用的临时方法。说人话:匿名方法也是一种方法,只不过没有名字而已。
1.1.2. 匿名方法的用法
匿名方法的标准语法如下,其中,delegateType 是委托类型,如 Func 或 Action,delegateInstance 是委托的实例名称,parameters 是方法的参数列表。
delegateType delegateInstance = delegate(parameters) { // 代码区 };
以下是一个使用匿名方法计算两个整数和的例子,在这个例子中,匿名方法 delegate(int x, int y) 计算了两个整数的和,并将结果返回给委托 add。
Func<int, int, int> add = delegate(int x, int y) { return x + y; }; int result = add(3, 4); // result 为 7 为 7
匿名方法也可以用于事件处理器,在下面这个例子中,匿名方法直接作为 Click 事件的处理器,当按钮被点击时显示一条消息。
button.Click += delegate(object sender, EventArgs e) { MessageBox.Show("Button clicked!"); };
1.1.3. 匿名方法与 Lambda 表达式的对比
匿名方法使用delegate 关键字,而Lambda 表达式通过使用( ) => 语法来定义参数和方法体。相比匿名方法,Lambda 表达式更短、更直观。
//lambda表达式 Func<int, int, int> add = (x, y) => x + y; //匿名方法 Func<int, int, int> add = delegate(int x, int y) { return x + y; };
这一章的内容比较少,我也不想写太多,大家知道有这么个概念即可,实在没必要深究。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/161431.html