委托时面向对象的编程语言中新加入的一种特性,在C#中引入委托使得C#程序的编写更加灵活。
C#,中可以自己定义各种各样的委托,但是C#语言也预先为我们定义了两个做常用的委托,一个是Func一个是Action.
Action< T > 委托
函数最基本的特点就是输入输出,即输入参数-> 执行运算-> 输出参数,Action是一类没有输出参数的委托,但是输入参数可以为C#中的任意类型,即可以委托执行一下形式的方法。
public void f1(string str, int i)
{
...
}
该函数用Action委托就是:
Action<String, int> do_f1 = f1;
使用时候直接用
do_f1("hello", 12);
Func< T >委托
知道了Action委托,很好理解Func委托,Func委托是由返回值的委托,其中,输入参数和返回值都用泛型表示,例如以下函数的Func委托:
public string f2(int i1, int i2)
{
return (i1+i2).toString();
}
其Func委托为:
Func<int ,int, string> do_f2=f2;
使用的时候直接用:
string result = do_f2(1,2);