Action委托类型的基础巩固<12/9/2017>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 委托
{
class Program
{
static void PrintString()
{
Console.WriteLine("hellow world");
}
static void PrintInt(int i)
{
Console.WriteLine(i);
}
static void PrintString(string str)
{
Console.WriteLine(str);
}
static void PrintDouble(int i1,int i2)
{
Console.WriteLine(i1+i2);
}
static void Main(string[] args)
{
//Action永远没有返回值
Action a = PrintString;//Action是系统内置(预定义)的一个委托类型,它可以指向一个没有返回值,没有参数的方法
Action<int> b=PrintInt;//定义了一个委托类型,这个类型可以指向一个没有返回值,但是带有一个参数的方法
Action<string> c = PrintString;//同上解释,系统会自动寻找匹配的方法
Action<int, int> d = PrintDouble;//两个参数也可以玩,三个以上也可以玩,最大支持16个参数玩
d(34,23);
//你还可以这样玩,如Action<int,int,int,string,bool,string>...<>中最多支持16个,但是一定要匹配
//Action可以通过泛型指定Action指向方法的多个参数的类型,参数类型跟Action后面声明的委托类型是对应着的
Console.ReadKey();
}
}
}