探索小游戏引流的有效策略与未来发展趋势
567
2022-10-06
委托----Func和Action
private delegate string
string说明适用于这个委托的方法的返回类型是string类型,委托名Say后面没有参数,说明对应的方法也就没有传入参数。
写一个适用于该委托的方法:
public static string SayHello() { return "Hello"; }
最后调用:
static void Main(string[] args) { Say say = SayHello; Console.WriteLine(say()); }
答案是肯定的,我们可以用Func.
Func是.NET里面的内置委托,它有很多重载。
Func
static void Main(string[] args) { Func
看一下Func别的重载。
Func
//委托 传入参数类型为string,方法返回类型为int Func
//对应方法 public int Count(string num) { return Convert.ToInt32(num); }
Func
类似的还有Func(T1, T2, T3, TResult) 委托、Func(T1, T2, T3, T4, TResult) 委托等。用法差不多,都是前面为方法的传入参数,最后一个为方法的返回类型。
Func也可以与匿名方法一起使用如:
public static void Main() { Func
同样它也可以接 lambda 表达式:
public static void Main() { char[] separators = new char[] {' '}; Func
Func都是有返回类型的,如果我们的方法没有返回类型该怎么办呢?
Action 委托:没有传入参数,也没有返回类型,即Void。如:
tatic void Main(string[] args) { Action say = SayHello; say(); } public static void SayHello( ) { Console.WriteLine("Say Hello"); }
Action
static void Main(string[] args) { Action
Action
Action同样的还有许多其它重载,每个重载用法一样,只是方法的传入参数数量不一样。
其实Action与Func的用法差不多,差别只是一个有返回类型,一个没有返回类型,当然Action也可以接匿名方法和Lambda表达式。
匿名方法:
static void Main(string[] args) { Action
Lambda表达式:
static void Main(string[] args) { Action
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~