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

c#
484
2024/1/17 13:12:40
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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有返回值。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c#中sqlhelper使用要注意哪些事项