c#中action和func的区别是什么

avatar
作者
筋斗云
阅读量:2

在C#中,Action和Func是两种不同的委托类型,它们的区别在于参数和返回值的不同。

  1. Action是一个没有返回值的委托类型。它可以接受最多16个输入参数,但没有返回值。例如,一个Action委托可以表示一个没有参数的方法,或者一个有多个参数但没有返回值的方法。

示例:

Action<int, string> action = (x, y) => Console.WriteLine($"Action: {x}, {y}"); action(10, "Hello"); 

这里的Action委托接受一个int类型的参数和一个string类型的参数,然后将它们打印到控制台。

  1. Func是一个有返回值的委托类型。它可以接受最多16个输入参数,并返回一个值。例如,一个Func委托可以表示一个没有参数但返回int类型的方法,或者一个有多个参数并返回string类型的方法。

示例:

Func<int, int, string> func = (x, y) => $"Func: {x + y}"; string result = func(10, 20); Console.WriteLine(result); 

这里的Func委托接受两个int类型的参数,然后返回它们的和作为string类型的结果。

总结:Action和Func都是委托类型,用于表示方法的引用。它们的区别在于Action没有返回值,而Func有返回值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!