Action就相当于一个委托,=>(Lambda表达式)后面跟的是一个函数体。在我看来Action和=>合在一起就相当于给一个没有函数名的函数做了一个委托。使用时只需要调用委托就可以使用函数。
示例代码如下:
using System;
using System.Collections.Generic;
namespace TestCode
{
class Program
{
static void Main(string[] args)
{
Action<int, int> action1 = new Action<int, int>((m, n) =>
{
int s = m * n;
Console.WriteLine(s);
});
Action action2 = new Action(() =>
{
Console.WriteLine("How are you?");
});
Action action3 = new Action(SayHello);
action1(2, 3);
action2();
action3();
}
static void SayHello()
{
Console.WriteLine("I'm fine.");
}
}
}
运行结果:
Ps:C#就刚学了两三个月,这只是我个人理解因为发展方向不在这一块所以并没有深入追究,欢迎大佬们指正不足之处。