namespace Lamdbarem
{
class LambdaRem
{
// 创建一个返回值为string 带两个参数的委托 案例1
delegate string DemoDelegate(string _stuName, string _stuPwd);
static void Main(string[] args)
{
//匿名方法就是没有名字的方法
//2,Lambda表达式 =>左边是参数个数,右边是代码块
DemoDelegate demo1 = (stuName, stuPwd) =>
{
return "姓名:" + stuName + " 密码:" + stuPwd;
};
匿名方法
DemoDelegate demo3 = delegate(string stuName,string stuPwd)
{
return "姓名:" + stuName + " 密码:" + stuPwd;
};
//调用匿名方法和Lambda表达式
Console.WriteLine(demo3("曹操", "123456"));
Console.WriteLine(demo1("徐晃","123456"));
//案例2
//微软提供了三个泛型委托1,Predicate返回值为bool
//3,Func有返回值 //2,Action无返回值
//可以用这三个泛型委托接收匿名方法或Lambda表达式
//创建lambda表达式
Action<int> funtion1 = (int i) =>
{
Console.WriteLine("输出i--:\t"+ --i);
};
//通过委托创建匿名方法
Action<int> funtion = delegate(int i )
{
Console.WriteLine("输出i++:\t" + ++i);
};
//调用匿名方法和lambda表达式
funtion(1);
funtion1(1);
}
}
}
运行结果