匿名方法如何省略参数列表

本文关键字:参数 列表 何省略 方法 | 更新日期: 2023-09-27 17:57:08

我在匿名方法(C# 编程指南)的 MSDN 文档中阅读了这篇文章,但我不明白关于省略参数列表的部分。它说:

在一种情况下,匿名方法提供功能 在 lambda 表达式中找不到。匿名方法使您能够省略 参数列表。这意味着匿名方法可以是 转换为具有各种签名的代理人。这不是 可以使用 lambda 表达式。

您能否提供一个省略匿名方法的参数列表的示例?

匿名方法如何省略参数列表

我想

你对lambda表达式匿名方法感到困惑。您需要了解的是,lambda表达式只是合成糖。例如,您可以创建一个匿名方法,该方法采用 2 个整数参数并返回如下所示的integer

Func<int, int, int> func = delegate(int x, int y)
                           {
                                return x + y;
                           };

使用 lambda 语法,您可以将该语句缩短为:

Func<int, int, int> func2 = (x,y) => x + y;

此外,您实际上不需要将任何参数传递给 lambda 语句。例如,这是完全有效的:

Action act = () => Console.WriteLine("hello world");

因此,lambda 表达式允许您使用更少的代码创建匿名方法,并且与匿名方法相比,它们没有任何缺点,因为它们是完全不同的东西。您正在比较苹果橙子