谁能解释一下 C# 中的匿名方法(用简单的术语)并提供可能的示例
最佳答案
匿名方法被引入到 C# 2 中,作为一种无需编写单独方法即可创建委托(delegate)实例的方法。它们可以在封闭方法内捕获局部变量,使它们成为一种闭包的形式。
匿名方法类似于:
delegate (int x) { return x * 2; }
并且必须转换为特定的委托(delegate)类型,例如通过分配:
Func<int, int> foo = delegate (int x) { return x * 2; };
...或订阅事件处理程序:
button.Click += delegate (object sender, EventArgs e) {
// React here
};
有关详细信息,请参阅:
- 我的文章(很久以前写的)delegate changes in C# 2
- MSDN on anonymous methods
- 第 5 章 C# in Depth如果你想买我的书:)
请注意,C# 3 中的 lamdba 表达式几乎完全取代了匿名方法(尽管它们当然仍然完全有效)。匿名方法和 lambda 表达式统称为匿名函数。
关于c# - C#中的匿名方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6008097/