温馨提示×

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

c#
小亿
148
2024-01-11 13:12:40
栏目: 编程语言

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

0