namespace CSharp
{
delegate int MyDelegate(string name);
delegate void MyDelegate2(string name, int i);
class Program
{
static int fun(string name)
{
Console.WriteLine(name);
return 0;
}
static int fun_lf(string name_lf)
{
Console.WriteLine(name_lf + "_lf");
return 0;
}
static void Cout(string name, MyDelegate F)
{
F(name);
}
static void Main(string[] args)
{
//1,回调
Cout("lwf0", fun_lf);
//2,new 初始化
MyDelegate Fun = new MyDelegate(fun);
Fun += fun_lf;
Fun("lwf1");
//3,不使用new初始化
MyDelegate Fun1;
Fun1 = fun;
Fun1 += fun_lf;
Fun1("lwf2");
//4,+,-
Fun1 -= fun;
Fun1("lwf3");
//5,匿名方法
Fun = delegate(string name) { Console.WriteLine(name); return 0; };
Fun("LWf_anonymous");
//6,lambda表达式
MyDelegate funLambda = (string name) => { Console.WriteLine(name); return 0; };
funLambda("LWF_lambda");
//7,简写lambda
funLambda = name => { Console.WriteLine(name); return 0; };
funLambda("shortHandLambda");
//8,简写多参数lambda表达式
MyDelegate2 mu_ar_la_f = (name, i) => { Console.Write(name + ", "); Console.WriteLine(i.ToString()); };
mu_ar_la_f("lwf_mu_ar_la_f", 1);
}
}
}
C# 委托列子
最新推荐文章于 2022-08-04 17:31:35 发布