我想知道我们在哪里可以定义匿名方法(匿名函数和lambda语句),因为在某些网站上它只写在函数中,而在某些网站上,它写成我们可以在类级别范围内调用它。
您几乎可以在任何地方使用匿名函数,包括字段初始值设定项 - 但对于例如字段初始值设定项,您不能使用 this
.所以例如:
public class Foo
{
private int x;
private Func<int> y = () => 5; // No problem
private Func<int> z = () => x; // Disallowed, because it captures "this"
}
当然,您也可以在方法中使用它们。我不相信有任何情况可以在属性参数中使用匿名函数,因为它们不是常量表达式。
您可以在另一个方法中定义匿名方法,基本上当您将其作为Delegate
参数传递到另一个方法中时。