[Unity&&C#]匿名函数和Lambda表达式

匿名函数(不用写方法名的函数):

Func<int, int> o = delegate (int i)
        {
            i = i + i;
            return i;
        };

Lambda表达式:

参数不用写类型是因为给LAMBDA表达式作委托类型的参数的时候,委托类型会自动进行类型推断

Func<int, int> j = i => i + i;

闭包:

通过Lambda表达式可以访问Lambda表达式外部的变量,称为闭包

当引用外部变量时,Lambda表达式的结果会随着外部变量的变化而变化

int k = 5;
int u = 6;
Func<int, int> q = u => k + u;

猜你喜欢

转载自blog.csdn.net/Hotgun2222/article/details/140825772