117.info
人生若只如初见

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

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

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

示例:

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

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

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

示例:

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

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

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

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe0b6AzsLAAJUB1Q.html

推荐文章

  • C++ vector::shrink_to_fit()实例讲解

    vector::shrink_to_fit()是C++标准库中vector容器的一个成员函数,用于将vector的容量调整为与其实际大小相匹配的最小值。该函数可以在删除了一些元素后,将容器...

  • C++ beta(), betaf() and betal()实例讲解

    Sure! Let’s start with the explanation of each function: beta(): This function is used to calculate the beta value in statistics. The beta value is a...

  • C# Graphics.DrawLine()函数实例讲解

    Graphics.DrawLine()函数用于在指定的两个点之间绘制一条直线。
    下面是一个使用Graphics.DrawLine()函数绘制直线的示例:
    using System;
    using S...

  • C++ fprintf()实例讲解

    fprintf() 函数用于将数据写入到文件中。它的原型如下:
    int fprintf(FILE *stream, const char *format, ...) 其中,stream 是指向 FILE 对象的指针,用于...

  • mysql命令行登录不了怎么解决

    如果无法通过命令行登录MySQL,可能有以下几种解决方法: 检查MySQL服务是否正在运行。可以使用以下命令来检查MySQL服务的状态:
    systemctl status mysql 如...

  • Oracle怎么查看表列的字符集

    可以通过以下方法查询Oracle表列的字符集:1. 使用`DESC`命令查询表结构并查看列的字符集。例如: DESC table_name;在结果中,可以查看到每个列的数据类型和字符...

  • c#中action的用法是什么

    在C#中,Action是一种委托类型,它可以用于引用不返回值的方法。 Action可以接受0到16个参数,并且不返回任何值。
    Action的用法如下: 声明Action委托类型:...

  • android多进程通信怎么实现

    在 Android 中,可以使用以下几种方式实现多进程通信:1. 使用共享文件:在一个进程中将数据写入共享文件,然后在另一个进程中读取该文件来获取数据。 例如,在写...