代表,Lambdas,Action,Func,匿名函数
我只想validation我对以下内容的理解
- 委托 – 方法签名
- Lambdas – 匿名函数
- 匿名函数 – 就是这样
- 操作 – 不返回任何内容的匿名函数
- Func – 一个返回某些东西的匿名函数
嗯…他们都做类似的事情,你如何定义和知道何时使用每个?
对不起,我不好解释
-
委托 – 它不是方法签名。
It is a type which encapsulates a method
。 因此,委托声明应该具有类似于它想要封装的方法的签名。When to use Delegate - whenever you want to pass a method to another function.
有关更多信息,请参阅此内容 。 -
Lambdas – 简写和写作匿名函数的表达方式。 但还有更多。 lambda表达式也可以转换为表达式树。 有关更多信息,请参阅
-
匿名函数 – 是的……就是这样
-
Action – 它是一个委托,它可以封装一个不返回任何内容的函数。 因此,您应该将其视为
a type that can encapsulate an action
并在需要传递操作时使用它。 -
Func – 可以封装返回某些内容的函数的委托。 但是你应该将它看作
a type that can encapsulate a transformation
并在你希望传递转换时使用它。
Action和Func只是Delegate的特例。 委托本身是引用方法的东西,可用于调用它。
不要试图看到C#+这些function。 还因为对你的问题没有严格务实的答案。
从function编程的角度出发,例如尝试学习F#以了解内部使用什么以及何时使用lambda(实际上在函数式语言中的所有位置),然后您将更好地理解事物。
它将打开你的思维,让你对命令式编程或C#等混合语言有不同的看法。