学一下匿名方法了

学一下匿名方法了在开始正文之前 我先声明一点 现在 C 中已经很少用匿名方法了 匿名方法是微软早期的产物 现在基本上都在用 Lambda 表达式了 如果你不想学 就跳过这一章吧 我平常也不用 主要是考虑到文章的完整性而写的这一章内容 1 1 1 什么是匿名方法

大家好,欢迎来到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

(0)
上一篇 2024-12-09 14:26
下一篇 2024-12-09 14:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信