匿名函数学习
- 声明一个委托
public delegate void Del1();
- 创建一个和委托有相同签名和参数的方法:
static void Test1()
{
}
- 调用委托:
Del1 del1 = new Del1(Test1);
- 完整代码
public delegate void Del1();
static void Main(string[] args)
{
Del1 del1 = new Del1(Test1);
}
static void Test1()
{
}
- 和上述代码有相同功能的匿名函数
public delegate void Del1();
static void Main(string[] args)
{
Del1 del1 = delegate () { };
}
- 和上述代码有相同功能的Lamda表达式
public delegate void Del1();
static void Main(string[] args)
{
Del1 del1 = () => { };
}
同理,创建有参数的委托:public delegate void Del1( int num);
匿名函数:
public delegate void Del1( int num);
static void Main(string[] args)
{
Del1 del1 = delegate (int num) { };
}
Lamda表达式
public delegate void Del1( int num);
static void Main(string[] args)
{
Del1 del1 = delegate (int num) { };
}
同理,创建有参数和返回值的委托:public delegate int Del1( int num);
匿名函数:
public delegate int Del1(int num);
static void Main(string[] args)
{
Del1 del1 = delegate (int num) { return 100;};
}
Lamda表达式:
public delegate int Del1(int num);
static void Main(string[] args)
{
Del1 del1 =(name)=> { return 100; };
}