匿名方法和λ表达式
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 匿名方法
{
class Program
{
static void Main(string[] args)
{
//普通匿名方法,无参无返回值
MyDelegate md = delegate () { Console.WriteLine("quququ");
Console.WriteLine("###########");
};
md();
//λ表达式的无参数无返回值的方法
MyDelegate md1 = () => { Console.WriteLine("lambda表达式quququ"); };
md1();
//有参数无返回值的匿名方法
StringDelegate sd = delegate (string s) { Console.WriteLine(s); };
sd("wosizhazhahui");
//有参数无返回值的lambda表达式
StringDelegate sd1 = s => { Console.WriteLine(s); };
sd1("有参数无返回值的lambda表达式");
//有参数有返回值的匿名方法
SumDelagate sum = delegate (string a, string b) {
Console.WriteLine(a+b); ;
return a + b;
};
string ss = sum("有参数有返回值", "匿名方法");
//有参数有返回值的λ表达式
SumDelagate sum1 = (a, b) => { return a + b; };
string ss1 = sum1("有参数有返回值的", "λ表达式");
Console.WriteLine(ss1);
Console.ReadKey();
}
}
public delegate void MyDelegate();
public delegate void StringDelegate(string s);
public delegate string SumDelagate(string a, string b);
}
运行结果