1.Action委托
1、Action简介:
C#中与预定义了一个委托类型Action
它默认可以指向一个没有返回值,没有参数的方法。
2. Action基本使用
static void printString(){
Console.WriteLine("Hello World");
}
static void Main(String[] args){
Action a = printString;
a(); // 输出结果 Hello World
}
Action其他使用方法
3. Action指向有参数的方法
static void printNumber(int x){
Console.WriteLine(x);
}
static void Main(String[] args){
Action<int> a = printNumber; // 定义一个指向 形参为int的函数
a(5); // 输出结果 5
}
Action
可以通过泛型来指定,指向的方法有 0 - 16个参数
Action<int, int, string, bool 等等>
2.Func委托
1.简介
Func 也是C#预定义的委托, 且可以指向带有一个返回值的方法,传递0-16个参数。
与Action区别:
Action 不能指向有返回值的方法 , 不能有返回值 。Func 可以指向有一个返回值的方法, 且必须有返回值。
For Example
1>. 指定返回值
static int GetNumber()
{
return 1;
}
static void Main(string[] args)
{
Func<int> a = GetNumber; // 定义一个Func 委托, 指向一个返回int类型的 方法
Console.WriteLine(a());
}
2>.指定参数和返回值的例子
Func<string, int>
最后一个参数表示返回值类型,前面的都是形参类型。
static int Test2(string str){
return 1;
}
static void Main(string[] args){
Func<string, int> a = Test2; // 泛型中最后一个参数表示返回值类型。
Console.WriteLine(a("a"));
}
网友评论